opencv学习笔记01-图片读取与显示
opencv 简易笔记
1.创建和显示窗口
import cv2
#窗口命名
cv2.namedWindow("111",cv2.WINDOW_NORMAL)
#读取图片
img = cv2.imread("mdPNG/lesson1_3.png",0)
#显示窗口
cv2.imshow("111",img)
#设置窗口大小->图片适应窗口
cv2.resizeWindow("111",1920,1080)
#保存
cv2.imwrite("mdPNG/lesson1_3_1.png",img)
#设置等待,0为无限等待
key = cv2.waitKey(0)
#销毁
if(key & 0xFF== ord("q")):
cv2.destroyAllWindows()
1.1 namewindow(winname,flags)
namewindow()几乎可以说是学习 opencv 过程中最先接触到的函数,但很多人却并不了解其参数含义,其中包含两个参数。
(1) winname: 即窗口名字
(2) flags: 可以看到指定为 int,根据查看源码可以发现 cv2.WINDOW_~中包含多种类型:
更多细节可以参照函数中的介绍。实际上感觉还是 WINDOW_NORMAL 比较符合日常需求
1.2 imread(filename,flags)
imread()函数可以读取图片,其中包含两个参数。
(1) filename: 图片的位置。
(2) flags: 此参数能够设置图片读取的颜色,-1 为原始图片,0 为灰度图,1 为3通道图片,具体参照 cv.IM~查看。
1.3 imshow(winname,mat)
简单,略
(1) winname: 之前创建的窗口名字
(2) mat: 之前通过 imread()读取的图片,imread()返回一个 mat 类型。
1.4 resizeWindow(winname,width,height)
该函数能够重新设置图片的宽高。
(1) winname: 之前创建的窗口名字
(2) width: 图片的宽
(3) height: 图片的高
1.5 waitKey(delay)
该函数能够设置等待延时,到时间后窗口关闭,返回值为按键,该函数通常配合按键检测使用,例如
#设置等待,0为无限等待
key = cv2.waitKey(0)
#销毁
if(key & 0xFF== ord("q")):
cv2.destroyAllWindows()
(1) delay: 毫秒时间
1.5 imwrite(filename,img,params[List:int]) -> bool
保存图片
(1) filename: 文件名
(2) img: mat
(3) params: 一个数字 list,'params' must be key-value pairs,正常默认就好,可以设置保存的一些参数: