OpenCV基础——OpenCV常用函数

OpenCV基础——常用函数

1. cv2.imread(filepath,flags) # 读入一张图像

filepath:要读入图片的完整路径
flags:读入图片的标志
	cv2.IMREAD_COLOR:默认参数,读入一副彩色图片,忽略alpha通道
	cv2.IMREAD_GRAYSCALE:读入灰度图片
	cv2.IMREAD_UNCHANGED:顾名思义,读入完整图片,包括alpha通道

2. cv2.imshow(wname,img) # 显示图像

wname:显示图像窗口的名字
img :要显示图像的名称

3. cv2.imwrite(file,img,num) # 保存图像

file:为保存的文件名,是一个字符串
img:是要保存的图像
num:为可选参数
	 对于jpeg,其表示的是图像的质量,用0 - 100的整数表示,默认95;对于png ,第三个参数表示的是压缩级别。默认为3.
	cv2.IMWRITE_JPEG_QUALITY类型为 long ,必须转换成 int
	cv2.IMWRITE_PNG_COMPRESSION, 从0到9 压缩级别越高图像越小

4. cv2.namedWindow(window_name, flag) # 创建窗口

window_name:将显示图像/视频的窗口的名称
flag: 表示窗口大小是自动设置还是可调整 
	WINDOW_NORMAL –允许手动更改窗口大小
	WINDOW_AUTOSIZE(Default) –自动 设置窗口大小
	WINDOW_FULLSCREEN –将窗口大小更改为全屏

5. cv2.destroyAllWindows() # 销毁所有窗口

6. cv2.destroyWindow(wname) # 销毁指定名称的窗口

wname:要销毁的窗口名

7. cv2.waitKey(delay) # cv2.imshow()的显示时间,不断刷新图像,并等待用户按键事件

delay:单位为ms毫秒的等待,如果用户没有按下键,则继续等待 (循环)
	delay = 0,表示程序会无限制的等待用户的按键事件
	delay > 0,设置在显示完一帧图像后程序等待 ”delay”ms 再显示下一帧视频 

8. cv2.setMousecallback(const string& winname, MouseCallback onMouse, void* userdata=0) # 鼠标事件函数,检测鼠标事件并执行相应回调函数

winname: 窗口的名字
onMouse: 鼠标响应函数,回调函数。指定窗口里每次鼠标时间发生的时候,被调用的函数指针。 这个函数的原型应该为void on_Mouse(int event, int x, int y, int flags, void* param);
userdate:传给回调函数的参数

9. cv.on_Mouse(int event, int x, int y, int flags, void* param) # 鼠标事件的回调函数

event: cv2_EVENT_* (MouseEventTypes)类型的变量,为当前发生的鼠标事件类型
x or y: 当前鼠标事件发生时鼠标在图像位置的x、y坐标
flags: cv2_EVENT_FLAG_* (MouseEventFlags)类型的变量
param: 自定义的传递给 setMouseCallback 函数调用的参数

MouseEventTypes:

    EVENT_MOUSEMOVE           #滑动
    EVENT_LBUTTONDOWN         #左键点击
    EVENT_RBUTTONDOWN         #右键点击
    EVENT_MBUTTONDOWN         #中键点击
    EVENT_LBUTTONUP           #左键放开
    EVENT_RBUTTONUP           #右键放开
    EVENT_MBUTTONUP           #中键放开
    EVENT_LBUTTONDBLCLK       #左键双击
    EVENT_RBUTTONDBLCLK       #右键双击
    EVENT_MBUTTONDBLCLK       #中键双击

MouseEventFlags:

    EVENT_FLAG_LBUTTON        #左键拖曳
    EVENT_FLAG_RBUTTON        #右键拖曳
    EVENT_FLAG_MBUTTON        #中键拖曳
    EVENT_FLAG_CTRLKEY        #按 Ctrl 不放
    EVENT_FLAG_SHIFTKEY       #按 Shift 不放
    EVENT_FLAG_ALTKEY         #按 Alt 不放

你可能感兴趣的:(opencv,学习,计算机视觉)