Jadual Kandungan
Membaca Video
Baca video daripada kamera
Mainkan video daripada fail
Simpan video
Ringkasan
Rumah pembangunan bahagian belakang Tutorial Python Bagaimana untuk menangkap, memainkan dan menyimpan video kamera menggunakan Python?

Bagaimana untuk menangkap, memainkan dan menyimpan video kamera menggunakan Python?

Apr 26, 2023 pm 07:40 PM
python kod simpan video

Bagaimana untuk menangkap, memainkan dan menyimpan video kamera menggunakan Python?

Beberapa hari lalu seorang pembaca bertanya soalan dalam kumpulan peminat:

Bagaimana untuk meningkatkan kejelasan dan kontras video dalam Python?

Saya belum meliputi aspek penggunaan Python untuk mengendalikan video sebelum ini, jadi saya minta maaf untuk memberitahu pembaca saya bahawa saya belum membuat liputan lagi.

Setelah memikirkannya selama dua hari yang lalu, saya merasakan bahawa saya harus menambah beberapa kandungan pada bahagian ini Di satu pihak, ia akan meningkatkan keluasan liputan saya, dan sebaliknya, ia boleh juga menjawab soalan untuk peminat.

Hari ini saya akan berkongsi operasi paling asas pengendalian video dalam Python, termasuk membaca dan memainkan video serta menyimpan video.

Membaca Video

Untuk menangkap video, anda perlu mencipta objek VideoCapture. Hujahnya boleh menjadi indeks peranti atau nama fail video. Oleh itu, kita mempunyai dua cara untuk membaca video, iaitu membaca video dari kamera dan membaca video dari fail.

Baca video daripada kamera

Untuk peranti dengan kamera, seperti komputer riba dengan kamera, kami boleh terus mengaktifkan kamera komputer dan membaca strim video kamera.

import cv2 as cv
cap = cv.VideoCapture(0)
if not cap.isOpened():
print("Cannot open camera")
exit()
while True:
# 逐帧捕获
ret, frame = cap.read()
# 如果正确读取帧,ret为True
if not ret:
break
# 显示结果帧
cv.imshow('frame', frame)
if cv.waitKey(1) == ord('q'):
break
# 完成所有操作后,释放捕获器
cap.release()
cv.destroyAllWindows()
Salin selepas log masuk

Di sini saya menghantar parameter 0 kepada objek VideoCapture, yang mewakili indeks peranti Indeks peranti ialah nombor yang menentukan kamera. Biasanya kamera akan disambungkan (seperti dalam kes saya). Jadi saya hanya lulus 0. Anda boleh memilih kamera kedua dengan melepasi 1, dan seterusnya.

cap.isOpened() digunakan untuk menentukan sama ada video itu ditangkap.

cap.read() mengembalikan nilai Boolean (Benar/Salah). Ia akan menjadi Benar jika bingkai dibaca dengan betul. Jadi anda boleh menyemak penghujung video dengan menyemak nilai pulangan ini.

kaedah cv.imshow digunakan untuk memaparkan bingkai video. Prinsip memainkan video adalah memainkannya bingkai demi bingkai.

Pada akhirnya, jangan lupa untuk melepaskan tawanan melalui cap.release().

Jalankan kod ini dan anda akan melihat tetingkap pop timbul memainkan imej daripada kamera komputer anda dalam masa nyata.

Mainkan video daripada fail

Sama seperti menangkap daripada kamera, cuma tukar indeks kamera dengan nama fail video.

Selain itu, apabila memaparkan video, anda boleh mengawal kelajuan main balik video melalui cv.waitKey(). Jika tetapan terlalu kecil, video akan menjadi sangat pantas, bersamaan dengan main balik berkelajuan dua kali, jika ia terlalu besar, video akan menjadi sangat perlahan, bersamaan dengan main balik tertunda. Biasanya 25 milisaat adalah baik.

import cv2 as cv
cap = cv.VideoCapture('video.mp4')
while cap.isOpened():
ret, frame = cap.read()
# 如果正确读取帧,ret为True
if not ret:
break
cv.imshow('frame', frame)
if cv.waitKey(1) == ord('q'):
break
cap.release()
cv.destroyAllWindows()
Salin selepas log masuk

Jalankan kod ini dan anda akan melihat tetingkap pop timbul memainkan fail video yang anda pilih.

Simpan video

Baca video dari kamera, kita boleh simpan video ke setempat. Kami menangkap video dan memprosesnya bingkai demi bingkai Jika kami ingin menyimpan video ini, ia sangat mudah, hanya gunakan cv.VideoWriter().

cv.VideoWriter() mempunyai 5 parameter:

  • Parameter 1: Nama fail output, contohnya: output.mp4.
  • Parameter 2: Kod FourCC, FourCC ialah kod 4-bait yang digunakan untuk menentukan codec video.
  • Parameter 3: Bilangan kadar bingkai.
  • Parameter 4: Saiz bingkai.
  • Parameter 5: Warna bendera. Jika Benar, keluaran warna biasa, sebaliknya keluaran imej kelabu.

Mengenai perbandingan antara format FourCC dan video, saya telah menyenaraikan beberapa format biasa:

cv2.VideoWriter_fourcc('P','I','M','1 ' ) = MPEG-1 codec cv2.VideoWriter_fourcc('M','J','P','G') = motion-jpeg codec --> mp4v cv2.VideoWriter_fourcc('M', 'P', '4 ' , '2') = MPEG-4.2 codec cv2.VideoWriter_fourcc('D', 'I', 'V', '3') = MPEG-4.3 codec cv2.VideoWriter_fourcc('D', 'I', 'V ' , 'X') = MPEG-4 codec --> avi cv2.VideoWriter_fourcc('U', '2', '6', '3') = H263 codec cv2.VideoWriter_fourcc('I', '2', ' 6', '3') = H263I codec cv2.VideoWriter_fourcc('F', 'L', 'V', '1') = FLV1 codec

Kod untuk menyimpan video:

import cv2 as cv
cap = cv.VideoCapture(0)
# 定义编解码器并创建VideoWriter对象
fourcc = cv.VideoWriter_fourcc(*'MJPG')
out = cv.VideoWriter('output.mp4', fourcc, 20.0, (640,480))
while cap.isOpened():
ret, frame = cap.read()
if not ret:
break
frame = cv.flip(frame, 1)
# 写翻转的框架
out.write(frame)
cv.imshow('frame', frame)
if cv.waitKey(1) == ord('q'):
break
# 完成工作后释放所有内容
cap.release()
out.release()
cv.destroyAllWindows()
Salin selepas log masuk

Jalankan kod ini, anda boleh mencari fail video output.mp4 dalam direktori kod.

Dalam kod di atas, jika anda ingin keluar dari operasi video, tekan sahaja q pada papan kekunci.

Ringkasan

Di atas ialah apa yang saya akan perkenalkan hari ini. Ia agak mudah untuk menggunakan python-opencv untuk mengendalikan video. Sudah tentu, anda juga boleh melakukan beberapa pemprosesan pada video apabila membaca atau menyimpan video Kami akan memperkenalkan ini dalam artikel seterusnya.

Atas ialah kandungan terperinci Bagaimana untuk menangkap, memainkan dan menyimpan video kamera menggunakan Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

PHP dan Python: Contoh dan perbandingan kod PHP dan Python: Contoh dan perbandingan kod Apr 15, 2025 am 12:07 AM

PHP dan Python mempunyai kelebihan dan kekurangan mereka sendiri, dan pilihannya bergantung kepada keperluan projek dan keutamaan peribadi. 1.PHP sesuai untuk pembangunan pesat dan penyelenggaraan aplikasi web berskala besar. 2. Python menguasai bidang sains data dan pembelajaran mesin.

Python vs JavaScript: Komuniti, Perpustakaan, dan Sumber Python vs JavaScript: Komuniti, Perpustakaan, dan Sumber Apr 15, 2025 am 12:16 AM

Python dan JavaScript mempunyai kelebihan dan kekurangan mereka sendiri dari segi komuniti, perpustakaan dan sumber. 1) Komuniti Python mesra dan sesuai untuk pemula, tetapi sumber pembangunan depan tidak kaya dengan JavaScript. 2) Python berkuasa dalam bidang sains data dan perpustakaan pembelajaran mesin, sementara JavaScript lebih baik dalam perpustakaan pembangunan dan kerangka pembangunan depan. 3) Kedua -duanya mempunyai sumber pembelajaran yang kaya, tetapi Python sesuai untuk memulakan dengan dokumen rasmi, sementara JavaScript lebih baik dengan MDNWebDocs. Pilihan harus berdasarkan keperluan projek dan kepentingan peribadi.

Penjelasan terperinci mengenai Prinsip Docker Penjelasan terperinci mengenai Prinsip Docker Apr 14, 2025 pm 11:57 PM

Docker menggunakan ciri -ciri kernel Linux untuk menyediakan persekitaran berjalan yang cekap dan terpencil. Prinsip kerjanya adalah seperti berikut: 1. Cermin digunakan sebagai templat baca sahaja, yang mengandungi semua yang anda perlukan untuk menjalankan aplikasi; 2. Sistem Fail Kesatuan (Unionfs) menyusun pelbagai sistem fail, hanya menyimpan perbezaan, menjimatkan ruang dan mempercepatkan; 3. Daemon menguruskan cermin dan bekas, dan pelanggan menggunakannya untuk interaksi; 4. Ruang nama dan cgroups melaksanakan pengasingan kontena dan batasan sumber; 5. Pelbagai mod rangkaian menyokong interkoneksi kontena. Hanya dengan memahami konsep -konsep teras ini, anda boleh menggunakan Docker dengan lebih baik.

Cara menjalankan program di terminal vscode Cara menjalankan program di terminal vscode Apr 15, 2025 pm 06:42 PM

Dalam kod VS, anda boleh menjalankan program di terminal melalui langkah -langkah berikut: Sediakan kod dan buka terminal bersepadu untuk memastikan bahawa direktori kod selaras dengan direktori kerja terminal. Pilih arahan Run mengikut bahasa pengaturcaraan (seperti python python your_file_name.py) untuk memeriksa sama ada ia berjalan dengan jayanya dan menyelesaikan kesilapan. Gunakan debugger untuk meningkatkan kecekapan debug.

Bolehkah kod studio visual digunakan dalam python Bolehkah kod studio visual digunakan dalam python Apr 15, 2025 pm 08:18 PM

Kod VS boleh digunakan untuk menulis Python dan menyediakan banyak ciri yang menjadikannya alat yang ideal untuk membangunkan aplikasi python. Ia membolehkan pengguna untuk: memasang sambungan python untuk mendapatkan fungsi seperti penyempurnaan kod, penonjolan sintaks, dan debugging. Gunakan debugger untuk mengesan kod langkah demi langkah, cari dan selesaikan kesilapan. Mengintegrasikan Git untuk Kawalan Versi. Gunakan alat pemformatan kod untuk mengekalkan konsistensi kod. Gunakan alat linting untuk melihat masalah yang berpotensi lebih awal.

Python: Automasi, skrip, dan pengurusan tugas Python: Automasi, skrip, dan pengurusan tugas Apr 16, 2025 am 12:14 AM

Python cemerlang dalam automasi, skrip, dan pengurusan tugas. 1) Automasi: Sandaran fail direalisasikan melalui perpustakaan standard seperti OS dan Shutil. 2) Penulisan Skrip: Gunakan Perpustakaan Psutil untuk memantau sumber sistem. 3) Pengurusan Tugas: Gunakan perpustakaan jadual untuk menjadualkan tugas. Kemudahan penggunaan Python dan sokongan perpustakaan yang kaya menjadikannya alat pilihan di kawasan ini.

Boleh kod vs dijalankan di Windows 8 Boleh kod vs dijalankan di Windows 8 Apr 15, 2025 pm 07:24 PM

Kod VS boleh dijalankan pada Windows 8, tetapi pengalaman mungkin tidak hebat. Mula -mula pastikan sistem telah dikemas kini ke patch terkini, kemudian muat turun pakej pemasangan kod VS yang sepadan dengan seni bina sistem dan pasangnya seperti yang diminta. Selepas pemasangan, sedar bahawa beberapa sambungan mungkin tidak sesuai dengan Windows 8 dan perlu mencari sambungan alternatif atau menggunakan sistem Windows yang lebih baru dalam mesin maya. Pasang sambungan yang diperlukan untuk memeriksa sama ada ia berfungsi dengan betul. Walaupun kod VS boleh dilaksanakan pada Windows 8, disyorkan untuk menaik taraf ke sistem Windows yang lebih baru untuk pengalaman dan keselamatan pembangunan yang lebih baik.

Apa itu vscode untuk apa vscode? Apa itu vscode untuk apa vscode? Apr 15, 2025 pm 06:45 PM

VS Kod adalah nama penuh Visual Studio Code, yang merupakan editor kod dan persekitaran pembangunan yang dibangunkan oleh Microsoft. Ia menyokong pelbagai bahasa pengaturcaraan dan menyediakan penonjolan sintaks, penyiapan automatik kod, coretan kod dan arahan pintar untuk meningkatkan kecekapan pembangunan. Melalui ekosistem lanjutan yang kaya, pengguna boleh menambah sambungan kepada keperluan dan bahasa tertentu, seperti debuggers, alat pemformatan kod, dan integrasi Git. VS Kod juga termasuk debugger intuitif yang membantu dengan cepat mencari dan menyelesaikan pepijat dalam kod anda.

See all articles