在安装好OpenCV之后就可以开始学习了
首先要准备一张图像素材
接下来就是代码图像处理的基本操作
1 import cv2 首先要导入库 2 lena =cv2.imread("/home/miao/cat.jpg") 这里读取图片,注意路径不然图片不能读取 3 print(lena) 打印图片数据 4 if lena is None: 5 print("can not load lena") 6 else: 7 cv2.imshow("demo" , lena) 8 cv2.waitKey(0)
第一行
即为要导入该模块
第二行
读取图像,主要路径问题。否则不能读取图像
语法格式:
retval = cv2.imread( filename [, flags])
retval是返回值,如果没有图像则返回None
filename表示要读取的图像完整文件名
flags是读取标记,
以下是flasg各标记值,设置时第一列和第三列是等效的
值 | 含义 | 数值 |
cv2.IMREAD_UNCHANGED | 按原样返回加载的图像 | -1 |
cv2.IMREAD_GRAYSCALE | 将图像转换为单通道灰度图像 | 0 |
cv2.IMREAD_COLOR | 将图像转换为3通道BGR彩色图像 | 1 |
cv2.IMREAD_ANYDEPTH | 在输入具有相应深度时返回16位/ 32位图像就返回对应的深度图像,否则将其转换为8位 | 2 |
cv2.IMREAD_ANYCOLOR | 以任何可能的颜色格式读取图像 | 4 |
cv2.IMREAD_LOAD_GDAL | 使用gdal驱动程序加载图像 | 8 |
cv2.IMREAD_REDUCED_GRAYSCALE_2 | 将图像转换为单通道灰度图像,图像尺寸减小1/2 | |
cv2.IMREAD_REDUCED_COLOR_2 | 将图像转换为3通道BGR彩色图像,图像尺寸减小1/2 | |
cv2.IMREAD_REDUCED_GRAYSCALE_4 | 将图像转换为单通道灰度图像,图像尺寸减小1/4 | |
cv2.IMREAD_REDUCED_COLOR_4 | 将图像转换为3通道BGR彩色图像,图像尺寸减小1/4 | |
cv2.IMREAD_REDUCED_GRAYSCALE_8 | 将图像转换为单通道灰度图像,图像尺寸减小1/8 | |
cv2.IMREAD_REDUCED_COLOR_8 | 将图像转换为3通道BGR彩色图像,图像尺寸减小1/8 | |
cv2.IMREAD_IGNORE_ORIENTATION | 不要根据EXIF的方向标志旋转图像 |
第三行
打印图片数据
if语句是为了判断所读取的图像是否为空
第七行
创建一个名为"demo"的新窗口,将图像显示在建立的窗口内
语法格式:
None = cv2.imshow( winname , mat)
第八行
用来等待按键当按下按键该语句被执行,并获取返回值
语法格式:
retval = cv2.waitKey( [delay])
retval是返回值,没有按键按下则返回-1,有按键则返回该按键的ASCLL码
delay表示等待键盘触发的时间单位为ms,当该值为负数或者零则表示无限等待,该值默认为0
在按键触发时需要焦点落在生成的窗口,而不是终端,否则无法读取导致按键无反应