visual执行到imshow时显示未经处理的异常_基于Opencv计算机视觉图像处理(1)
OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法毕业设计的内容涉及到图像处理和机械控制,所以选择使用opencv进行图像处理,机...
环境依赖和opencv包
1.环境:python3.7+windows102.函数包:
直接pip install opencv-python即可
实例
实例1-1:打开一张图片并且显示
import cv2img = cv2.imread('lena.jpg', 0)cv2.imshow('lena', img)cv2.waitKey(1000)
#加载函数
import cv2
#读取图片img = cv2.imread('lena.jpg', 0)
#lena.jpg路径路径中不能有中文
#彩色图默认值(1),灰度图(0),包含透明通道的彩色图(-1)
#显示图片cv2.imshow('lena', img)
#lean窗口名称(中文显示异常)
#img图片的二值化形式
实例1-2:打开摄像头并实时显示import cv2cap = cv2.VideoCapture(1)while(1): ret,frame = cap.read() flag=cv2.COLOR_BGR2GRAY gray = cv2.cvtColor(frame, flag) cv2.imshow('windows', gray) if cv2.waitKey(1) == 27: break
#创建一个摄像头实例
name = cv2.VideoCapture(1)
参数1指的是摄像头的编号,如果你电脑上有两个摄像头的话,访问第2个摄像头就可以输入1
#获取一帧
ret,frame = cap.read()
ret是一个布尔值,表示当前这一帧是否获取正确;frame是获取的二值化值形式的图片
#颜色空间转换
gray = cv2.cvtColor(input_image, flag)
#input_image要转换的图片,flag是转换类型
在opencv中有超过150种颜色空间转换方法,但是经常用的只有BGR-灰度图和BGR-HSV。
BGR和灰度图的转换使用 cv2.COLOR_BGR2GRAY,BGR和HSV的转换使用 cv2.COLOR_BGR2HSV
这个函数功能很强大,后面用到会具体介绍
#图像展示延时cv2.waitKey(delay)
函数功能:
waitKey() 函数的功能是不断刷新图像 , 频率时间为delay , 单位为ms
同时可以接收键盘输入的值,返回值为当前键盘按键的ASCII 数值,是在一个给定的时间内(单位ms)等待用户按键触发
常见 :
1.设置 waitKey(0) , 则表示程序会无限制的等待用户的按键事件(卡在这一步)if cv2.waitKey(1) == 27: break
2.等待用户触发事件等待时间为1ms,如果在这个时间段内,用户按下 ESC(ASCII码为27) , 执行 if 体。如果没有按,if函数不做处理
更多推荐
所有评论(0)