Использовать OpenCV для чтения изображений, локальных видео и данных камеры в Python очень просто. Сначала вам нужно установить Python, затем установить библиотеку Opencv-python.
pip install opencv-python
Затем введите соответствующий код Python в IDE, например PyCharm или VScode.
Например, мы хотим отобразить описанную выше цифровую обработку изображений.lena.jpg
это изображение,Код Python для чтения выглядит следующим образом:
import cv2
# Load an image using imread
img = cv2.imread("images/lena.jpg")
# img = cv2.imread("Resources/test.png")
# Display image
cv2.imshow("Lena image", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
Результаты работы на Python следующие:
Opencv-pythonИнтернет-документация оPythonПример кода:https://docs.opencv.org/4.9.0/dd/d43/tutorial_py_video_display.html
import numpy as np
import cv2 as cv
cap = cv.VideoCapture('vtest.avi')
while cap.isOpened():
ret, frame = cap.read()
# if frame is read correctly ret is True
if not ret:
print("Can't receive frame (stream end?). Exiting ...")
break
gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)
cv.imshow('frame', gray)
if cv.waitKey(1) == ord('q'):
break
cap.release()
cv.destroyAllWindows()
видео Ресурсы доступныhttps://github.com/murtazahassan/Learn-OpenCV-in-3-hours/blob/master/Resources/test_video.mp4скачать Соответствующий код Python для отображения локальных видео выглядит следующим образом:
import cv2
frameWidth = 640
frameHeight = 480
cap = cv2.VideoCapture("Resources/test_video.mp4")
while True:
success, img = cap.read()
img = cv2.resize(img, (frameWidth, frameHeight))
cv2.imshow("Result", img)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
Соответствующие результаты запуска показаны на рисунке ниже:
Легко ли читать «Камерданные» с помощью opencv-python?,opencv-pythonдокументtutorial_py_video_displayВнутри есть соответствующие Пример кода,следующее:
import numpy as np
import cv2 as cv
cap = cv.VideoCapture(0)
if not cap.isOpened():
print("Cannot open camera")
exit()
while True:
# Capture frame-by-frame
ret, frame = cap.read()
# if frame is read correctly ret is True
if not ret:
print("Can't receive frame (stream end?). Exiting ...")
break
# Our operations on the frame come here
gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)
# Display the resulting frame
cv.imshow('frame', gray)
# Подождите 1 миллисекунду и выйдите из цикла, если пользователь нажмет клавишу q.
if cv.waitKey(1) == ord('q'):
break
# When everything done, release the capture
cap.release()
cv.destroyAllWindows()
Мой код Python для локального чтения и отображения данных камеры выглядит следующим образом:
import cv2
frameWidth = 640
frameHeight = 480
cap = cv2.VideoCapture(0)
# cap.set(3, frameWidth)
cap.set(cv2.CAP_PROP_FRAME_WIDTH, frameWidth)
# cap.set(4, frameHeight)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, frameHeight)
# cap.set(10, 50)
cap.set(cv2.CAP_PROP_BRIGHTNESS, 50)
while True:
success, img = cap.read()
cv2.imshow("Result", img)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
Результаты запуска показаны на рисунке ниже: