图像读取和显示:使用 OpenCV 加载图像文件,并在窗口中显示图像。
import cv2
image = cv2.imread('image.jpg')
cv2.imshow('Image', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
图像处理:应用一些基本的图像处理操作,如图像灰度化、边缘检测、图像平滑等。
import cv2
image = cv2.imread('image.jpg')
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
edges = cv2.Canny(gray_image, 100, 200)
cv2.imshow('Edges', edges)
cv2.waitKey(0)
cv2.destroyAllWindows()
目标检测:使用预训练的目标检测模型检测图像中的目标物体,如人脸、车辆等。
import cv2
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
image = cv2.imread('image.jpg')
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray_image, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30))
for (x, y, w, h) in faces:
cv2.rectangle(image, (x, y), (x+w, y+h), (0, 255, 0), 2)
cv2.imshow('Faces', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
视频处理:读取视频文件,并对视频进行处理,如视频帧提取、视频帧转换等。
import cv2
video = cv2.VideoCapture('video.mp4')
while True:
ret, frame = video.read()
if not ret:
break
gray_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
cv2.imshow('Video', gray_frame)
if cv2.waitKey(25) & 0xFF == ord('q'):
break
video.release()
cv2.destroyAllWindows()