Python+OpenCV视频的读取与处理;截取部分图像数据; 边界填充

视频读取

●cv2.VideoCapture可以捕获摄像头, 用数字来控制不同的设备,例如0,1。

●如果是视频文件,直接指定好路径即可。

import cv2 #opencv默认读取格式是BGR
vc = cv2.VideoCapture('test.mp4')
#检查是否能够打开
if vc.isOpened():
    open, frame = vc.read()
else:
    open = False

while open:
    ret, frame = vc.read()
    if frame is None:
        break
    if ret == True:
        gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
        cv2.imshow('result',gray)
        #按Esc键退出
        if cv2.waitKey(1) & 0xFF == 27:
            break
vc.release()
cv2.destroyAllWindows()

截取部分图像数据

import cv2 #opencv默认读取格式是BGR

#图像的显示
def cv_show(name,img):
    cv2.imshow(name,img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

#ROI区域:指感兴趣的区域
#截取部分图像数据
img = cv2.imread('cat.jpg')
cat = img[0:200,0:200]
cv_show('cat',cat)

Python+OpenCV视频的读取与处理;截取部分图像数据; 边界填充_第1张图片

原图:

Python+OpenCV视频的读取与处理;截取部分图像数据; 边界填充_第2张图片

 边界填充

Python+OpenCV视频的读取与处理;截取部分图像数据; 边界填充_第3张图片

●BORDER_REPLICATE: 复制法,也就是复制最边缘像素。

●BORDER_REFLECT:反射法,对感兴趣的图像中的像素在两边进行复制例如: fedcba|abcdefgh|hgfedcb

●BORDER_REFLECT_101: 反射法,也就是以最边缘像素为轴,对称,gfedcb|abcdefgh|gfedcba

●BORDER_WRAP: 外包装法cdefgh|abcdefgh|abcdefg

●BORDER_CONSTANT: 常量法,常数值填充。

 

你可能感兴趣的:(Python,opencv,python,音视频)