基于python的Opencv项目-图像处理
数据读取-视频
1.vc = cv2.VideoCapture(‘test.mp4’) #进行视频的载入
2.vc.isOpened() # 判断载入的视频是否可以打开
3.ret, frame = vc.read() #进行单张图片的读取,ret的值为True或者Flase, frame表示读入的图片
4.cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) #表示将图片转换为灰度图
代码:
vc = cv2.VideoCapture('test.mp4')
# 检查是否打开正确
if vc.isOpened():
oepn, frame = vc.read()
else:
open = False
while open:
ret, frame = vc.read()
if frame is None:
break
if ret == True:
# 转换成一个灰度图 frame传进去
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# 展示结果
cv2.imshow('result', gray)
# 指定一个值 100 太小了瞬间就完事了 27表示退出键
if cv2.waitKey(100) & 0xFF == 27:
break
vc.release()
cv2.destroyAllWindows()
# 定义显示函数
def cv_show(name, img):
cv2.imshow(name, img)
cv2.waitKey(0)
cv2.destroyAllWindows()
截取部分图像数据
# 把图像数据读进来
img=cv2.imread('cat.jpg')
# 设置一个索引 选择你感兴趣的区域
cat=img[0:200,0:200]
cv_show('cat',cat)
颜色通道提取
-
截取图片的部分区域img[0:200, 0:200], 读入的图片是ndarray格式
-
b, g, r = cv2.split(img) # 对图片的颜色通道进行拆分
3.img = cv2.merge((b, g, r)) #对图片的颜色通道进行合并
- 对其他通道置零,只显示单个通道 cur_img[:, :, 0] = 0, cur_img[:, :, 1] = 0
import cv2
# 定义显示函数
def cv_sho