opencv基础操作笔记

这篇博客详细介绍了OpenCV的基础操作,包括图像的读取、显示和保存,以及算术操作。内容涵盖灰度图像处理、图像显示、图像保存、几何图形绘制、图像属性获取、通道操作、色彩空间转换等。此外,还讨论了图像的加法、混合、缩放、平移、旋转、仿射变换和透射变换等算术和几何变换。最后,提到了连通性、形态学操作如腐蚀、膨胀以及开闭运算在图像处理中的应用。
摘要由CSDN通过智能技术生成

第二次培训笔记

OpenCV基础操作分为两部分,一部分是图像的基本操作,另一部分是算数的基本操作。

•图像的基本操作

一、读取图像(cv.imread())

cv.color:彩色图像   cv..imread*GRAYSCALE:灰色图像     cv.imread_UNCHANGE:包括alpha通道的加载图像模式

默认参数是彩色图像

简写:用1、0、-1代替三个标志

Img = cv.imread(‘messi5.jpg,0)

二、显示图像(cv.imshow())

显示图像的窗口名称,用字符串类型表示。

#在调用显示图像的API后,要调用cv.waitKey()给图像绘制留下时间,否则窗口会出现无响应的情况,并且图像无法显示出来。

  1. 在opencv中显示
Cv.inshow(‘image’,img)
Cv.waitKey(0)
  1. 在matplotlib中显示(引用matplotlib库)
plt.imshow(img[:,:,:;-1])
plt.show()
  • 保存图像(Cv.imwrite())

Cv.imwrite(‘messigray.jng,imp)

           保存的名称及格式  

  • 总结

通过加载灰度图像,显示图像,如果按's'并退出则保存图像,或者按ESC键直接退出而不保存。

  • 绘制几何图形
  1. 绘制直线(cv.line(img,start,end,color,thickness))

img:要绘制直线的图像  Start,end: 直线的起点和终点

color: 线条的颜色    Thickness: 线条宽度

  1. 绘制圆形(cv.circle(img,centerpoint, r, color, thickness))

注意:Thickness为-1时,生成闭合图案并填充颜色。

  1. 绘制矩形(cv.rectangle(img,leftupper,rightdown,color,thickness))
  2. 向图像中添加文字
    cv.putText(img,text,station,font,fontsize,color,thickness,cv.LINE_AA)

img:图像       text:要写入的文本数据   station:文本的放置位置       

font:字体     Fontsize :字体大小

  1. 获取图像的属性

形状:img.shape  图像大小:img.size   数据类型:img.dtype

  1. 图像通道的拆分与合并

①通道拆分

b,g,r = cv.split(img)


②通道合并

img = cv.merge((b,g,r))
  1. 色彩空间的改变

最广泛应用的是BGR → Gray和BGR→HSV。

•算数操作

一、图像的加法

可以使用OpenCV的cv.add()函数把两幅图像相加,或者可以简单地通过numpy操作添加两个图像,如res = img1 + img2。两个图像应该具有相同的大小和类型,或者第二个图像可以是标量值。
注意:OpenCV加法和Numpy加法之间存在差异。OpenCV的加法是饱和操作,而Numpy添加是模运算。

  • 图像的混合

g(x)=(1−α)f0(x)+αf1(x)

通过修改α的值(0→1),可以实现混合。

图像缩放:对图像进行放大或缩小
cv.resize()
图像平移:
指定平移矩阵后,调用cv.warpAffine()平移图像
图像旋转:
调用cv.getRotationMatrix2D获取旋转矩阵,然后调用cv.warpAffine()进行旋转
仿射变换:
调用cv.getAffineTransform将创建变换矩阵,最后该矩阵将传递给cv.warpAffine()进行变换
透射变换:
通过函数cv.getPerspectiveTransform()找到变换矩阵,将cv.warpPerspective()进行投射变换
金字塔
图像金字塔是图像多尺度表达的一种,使用的API:
cv.pyrUp(): 向上采样
cv.pyrDown(): 向下采样

连通性 邻接关系:4邻接,8邻接和D邻接
连通性:4连通,8连通和m连通
形态学操作
腐蚀和膨胀:
腐蚀:求局部最大值
膨胀:求局部最小值
开闭运算:
开:先腐蚀后膨胀
闭:先膨胀后腐蚀
礼帽和黑帽:
礼帽:原图像与开运算之差
黑帽:闭运算与原图像之差

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值