اذهب إلى المحتوى

السؤال

نشر

فيه بوتات في الفيس والتويتر تنشر في صور مثلا لكل فريم من أنمي أو فلم وما إلى ذلك، هل فيه حد يعرف مرجع نقدر نتعلم منه كيفية القيام بذلك 

أمثلة لتلك الصفحات

https://www.facebook.com/EveryPMMadokaMagicaFrames/

https://www.facebook.com/HibikeEuphoniumFrames/

 

Recommended Posts

  • 0
نشر

إن كان لديك مقطع فيديو (وليكن باسم video.mp4) فيمكنك أن تستخرج منه الصور بإستخدام مكتبة cv2 في بايثون، بالشكل التالي:

import cv2

vidcap = cv2.VideoCapture('video.mp4')
success,image = vidcap.read()
count = 0

while success:
  cv2.imwrite("frame%d.jpg" % count, image)
  success,image = vidcap.read()
  print('Read a new frame: ', success)
  count += 1

يقوم الكود السابق بإستخراج كل الفريمات Frames من مقطع الفيديو ويقوم بحفظ كل صور بصيفة jpg، قد تكون هذه الطريقة بطيئة وتستهلك الكثير من مساحة التخزين بسبب وجود الكثير من الصور، لذلك يمكنك إستخدام الكود التالي الذي يقوم بإستخراج صورة واحدة من كل 30 صورة (ويمكن التحكم في هذا الرقم):

import cv2

cap = cv2.VideoCapture('video.mp4')
count = 0

while cap.isOpened():
    ret, frame = cap.read()

    if ret:
        cv2.imwrite('frame{:d}.jpg'.format(count), frame)
        count += 30 # i.e. at 30 fps, (في الغالب تحتوي الثانية الواحدة على 30 لقطة frame)
        cap.set(cv2.CAP_PROP_POS_FRAMES, count)
    else:
        cap.release()
        break

أما بالنسبة لنشر الصور فعليك البحث عن API خاص بالمنصة التي تريد النشر فيها، فعلى سبيل المثال إن أردت النشر على فيسبوك فعليك البحث عن Facebook API ، حيث تختلف المتطلبات من منصة إلى أخرى ولكن ستكون الفكرة واحدة بينهم، وستجد في الغالب أن المنصة توفر مكتبة لكي تستخدمها وتسمح لك بالنشر (أو القيام بأمور أخرى مختلفة) بسهولة.

  • 0
نشر
بتاريخ On ١١‏/١‏/٢٠٢٢ at 15:52 قال سامح أشرف:

إن كان لديك مقطع فيديو (وليكن باسم video.mp4) فيمكنك أن تستخرج منه الصور بإستخدام مكتبة cv2 في بايثون، بالشكل التالي:


import cv2

vidcap = cv2.VideoCapture('video.mp4')
success,image = vidcap.read()
count = 0

while success:
  cv2.imwrite("frame%d.jpg" % count, image)
  success,image = vidcap.read()
  print('Read a new frame: ', success)
  count += 1

يقوم الكود السابق بإستخراج كل الفريمات Frames من مقطع الفيديو ويقوم بحفظ كل صور بصيفة jpg، قد تكون هذه الطريقة بطيئة وتستهلك الكثير من مساحة التخزين بسبب وجود الكثير من الصور، لذلك يمكنك إستخدام الكود التالي الذي يقوم بإستخراج صورة واحدة من كل 30 صورة (ويمكن التحكم في هذا الرقم):


import cv2

cap = cv2.VideoCapture('video.mp4')
count = 0

while cap.isOpened():
    ret, frame = cap.read()

    if ret:
        cv2.imwrite('frame{:d}.jpg'.format(count), frame)
        count += 30 # i.e. at 30 fps, (في الغالب تحتوي الثانية الواحدة على 30 لقطة frame)
        cap.set(cv2.CAP_PROP_POS_FRAMES, count)
    else:
        cap.release()
        break

أما بالنسبة لنشر الصور فعليك البحث عن API خاص بالمنصة التي تريد النشر فيها، فعلى سبيل المثال إن أردت النشر على فيسبوك فعليك البحث عن Facebook API ، حيث تختلف المتطلبات من منصة إلى أخرى ولكن ستكون الفكرة واحدة بينهم، وستجد في الغالب أن المنصة توفر مكتبة لكي تستخدمها وتسمح لك بالنشر (أو القيام بأمور أخرى مختلفة) بسهولة.

سأجرب الأمر

شكرا، بارك الله فيك 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...