一. OpenCV介绍
(一)OpenCV部署方法
安装OpenCV前需要先安装numpy,matplotib
创建Python虚拟环境cv,在cv中安装即可
检测是否安装成功:
Import cv2 #读一个图片并进行显示(图片路径需要自己指定)
Learn=cv2.imread(“1.jpg”)
Cv2.imshow(“image”,lerna)
Cv2.waitKey(0)
利用SIFT,SURF等进行特征提取,还需安装:
Pip install opencv-contrib-python==3.4.2.17
(二)Opencv模块
- core (核心):实现数据结构及基本运算
- highgui:实现视频与图像的读取,显示,存储等接口
- Imgproc:实现图像处理基础方法
二. 图像基础操作
- 图像的IO操作
- 图像的IO操作
(1)读取图像
cv.imread()
读取方式标志:
①cv.IMREAD*COLOR: 以色彩模式加载图像,任何图像的透明度都将被忽略。这是默认参数。可以用“1”代替。
②cv.IMREAD*GRAYSCALE: 以灰度模式加载图像。可以用“0”代替。
③cv.IMREAD_UNCHANGED:包括alpha通道的加载图像模式。可以用“-1”代替。
注意:如果加载的路径有错误,不会报错,会返回一个Nnon值
(2)显示图像
cv.imshow()
①显示图像的窗口名称,以字符串类型表示
②要加载的图像
注意:在调用显示图像的API后,要调用cv.waitKey()给图像绘制留下时间,否则窗口会出现无响应情况,并且图像也无法显示出来。cv.waitKey(0)表示无限等待。
(3)保存图像
cv.imwrite()
①文件名,要保存在哪里
②要保存的图像
2. 绘制几何图形
(1)绘制直线
cv.line(img,start,end,color,thickness)
①img:要绘制直线的图像
②start,end:直线的起点终点
③color:线条颜色
④thickness:线条宽度
(2)绘制圆形
cv.circle(img,centerpoint,r,color,thickness)
①img:要绘制直线的图像
②centerpoint,r:圆心,半径
③color:线条颜色
④thickness:线条宽度,为-1时生成闭合图案并填充颜色
(3)绘制矩形
cv.rectangle(img.leftupper,rightdown,color,thickness)
①img:要绘制直线的图像
②leafupper,rightdown:矩形的左上角和右下角坐标
③color:线条颜色
④thickness:线条宽度
3. 几何变换(1)图像缩放
cv.resize(src,dsize,fx=0,fy=0,interpolation=cv2.INTER_LINEAR)
cols(列数),rows(行数)
①src:输入图像
②dsize:绝对尺寸,直接指定调整后图像的大小
③fy,fx:相对尺寸,将dsize设置为None,然后将fx和fy设置为比例因子
④interpolation:插值方法,
| 插值 | 含义 |
| cv2.INTER_LINEAR | 双线性插值法 |
| cv2.INTER_LINEAREST | 最近领插值 |
| cv2.INTER_AREA | 像素区域重采样(默认) |
| cv2.INTER_CUBIC | 双三次插值 |
(2)图像裁剪
img=cv2.imread(path)
print(img.shape) #得出原图大小
imgCropped=img[0:900,300:500]



