memutar file video menggunakan python opencv

Saya mencoba memutar file video menggunakan python opencv, ini kode saya, tetapi file vidfeo tidak ditampilkan saat saya menjalankan kode

import numpy as np
import cv2

cap = capture =cv2.VideoCapture('C2.mp4')
while(cap.isOpened()):
    ret, frame = cap.read()

    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    cv2.imshow('frame',gray)
    cv2.waitKey(1)

cap.release()
cv2.destroyAllWindows()

Saya mencoba jawabannya di: link tetapi tidak berhasil lagi


person Musa    schedule 24.11.2015    source sumber
comment
kenapa cap = capture = .... ? Apakah Anda masuk ke dalam loop while?   -  person Miki    schedule 24.11.2015


Jawaban (7)


Saya pikir Anda hanya perlu menambah jumlah di dalam fungsi cv2.waitKey() menjadi 25 atau 30. Anda akan mendapatkan hasil yang diinginkan.

Juga, tidak perlu menulis cap = capture = cv2.......

Sederhananya, menulis,

cap = cv2.videoCapture('jalur video')

harus bekerja juga. Semoga berhasil.

person aamer aamer    schedule 09.11.2016
comment
Ini menjawab pertanyaan itu! Bandingkan kode pertanyaan dengan tutorial OpenCV: opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/ - person ppasler; 07.12.2016

Kode ini berfungsi untuk saya. Ini menunjukkan keluaran video asli dan skala abu-abu. Tekan 'q' untuk keluar. Saya juga tidak melihat perlunya cap = capture... dalam kode Anda.

import cv2
import numpy as np

cap = cv2.VideoCapture(0)
while True:
ret, frame = cap.read()
    gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
    cv2.imshow('frame',frame)
    cv2.imshow('grayF',gray)
    if cv2.waitKey(1) & 0xFF == ord('q'):
         break

cap.release()
cv2.destroyAllWindows()
person Suhas Sreenivas    schedule 17.01.2017

Coba gunakan ini

cv.CaptureFromFile()

dan lihat juga tautan ini http://opencv-python-tutroals.readthedocs.org/en/latest/py_tutorials/py_gui/py_video_display/py_video_display.html

person Programmer    schedule 24.11.2015
comment
Ya, tapi ada detailnya - person Programmer; 25.11.2015

Pertama-tama, capture tidak diperlukan karena Anda tidak menggunakan capture dalam kode Anda. Alasan mengapa file video Anda tidak muncul karena Anda belum menyimpannya di direktori yang sama dengan tempat Anda menyimpan kodenya.

Anda dapat memberikan jalur penyimpanan file Anda seperti yang ditunjukkan di bawah ini

cap = cv2.VideoCapture('(path to the video file)/cv2.mp4')

Sekali lagi Anda perlu mengubah argumen di dalam waitKey jika tidak, program tidak akan menutup jendela yang menampilkan video dengan benar.

Coba cara berikut ini, pasti berhasil. Letakkan pernyataan if dengan fungsi waitKey() dan tingkatkan argumen yang menunjukkan jumlah milidetik yang akan menunggu fungsi kunci menjadi 25 atau angka berapa pun yang Anda suka sehingga ketika Anda menekan tombol ESC, jendela akan hancur:

if cv2.waitKey(25) & 0xFF == 27:
  break
person minakshi das    schedule 11.07.2018

Masalah dalam kode saya ada di bagian (Sementara). Seharusnya while (True) bukan yang ada di kode Anda

person soha samy    schedule 17.03.2020

ren opencv_ffmpeg.dll hingga opencv_ffmpeg2413.dll pada direktori proyek Anda jika opencv-2.4.13.exe

person user7845696    schedule 10.04.2017

person    schedule
comment
Selamat datang di JADI! Bisakah Anda menambahkan sedikit penjelasan tentang bagaimana hal ini memperbaiki masalah OP? - person naught101; 17.02.2017