opencv的基本图像操作

1. opencv读的图片是按照B\G\R顺序排列色彩结构。cv2.imread, 默认彩色类型。可以选择以灰度形式读取,如img=cv2.imread('', IMREAD_GRAYSCALE).
2.img.shape的显示顺序为H\W\C(高、宽、通道)。img.dtype 查看数据类型如 uint8.
3.opencv视频的读取。cv2.Videocapture可以控制摄像头,用数字控制不同的设备如0,1. 如果想控制手机,则可以使用Droidcam这个工具。
4.VC=cv2.Videocapture。 vc.read()是一帧一帧读取,返回两个参数,oepn,frame=vc.read(): 一个是是否可以打开,另一个是一帧图像。视频处理要用循环来读数据一帧一帧。
5.ROI截取。img1=img[0:200,0:300],对高、宽截取。img[:5,:,2]意思是显示的数组为高0:5;全部宽,第g通道的值。
6.颜色通道拆分。b,g,r=cv2.split(img), 即为各通道的二维数组。三个通道顺序0,1,2对应b,g,r.所以可以指定某一个通道的数据。比如将所有r通道指定为0,img[:,:,2]=0。 三通道b,g,r可以merge到一起,cv2.merge((b,g,r))
7.边界填充cv2.copyMakeBorder。有几种方法,复制边缘像素、反射法、外包装、常量填充指定value0~255。 
8.图像数值的加减,cv2会进行%255的取余操作。
9. 均值滤波:cv2.blur(img,[3,3]) #卷积矩阵为3X3。或cv2.boxFilter.噪音一般
10.高斯滤波:卷积核满足高斯分布,cv2.gaussionBlur(img,[5,5],1). 噪音稍好
11.中值滤波:找卷积核的中值,以中间值当成平滑后的结果。cv2.medianBlur(img,5).噪音较好
12.图像阈值操作:ret, dst=cv2.threshold(src,thresh,maxval,type),常用cv2.THRESH_BINARY,超过阈值的部分取maxval,否则取0. 其他的type均可以以阈值作为操作。
13.腐蚀操作:erosion,用黑的腐蚀白的。cv2.erode(img,kernel,iterations=1)
14.膨胀操作:dilate,白色膨胀大。cv2.dilate(img,kernel,interations=1)  erode&dilate互为逆运算,弥补使用。
15.开运算:先腐蚀再膨胀。opening=cv2.morphologyEx(img,cv2.MORPH_OPEN,kernel)
16.闭运算:先膨胀再腐蚀。closing=cv2.morphologyEx(img,cv2.MORPH_CLOSE,kernel)
17.梯度运算:膨胀-腐蚀,得到边界信息。gradient=cv2.morphologyEx(img,MORPH_GRADIANT,kernel)
18.礼帽/顶帽:原始输入-开运算结果。可以得到毛边的信息。一些细碎的区域信息。tophat=cv2.morphologyEx(img,MORPH_TOPHAT,kernel)
19.黑帽:闭运算-原始输入。blackhat=cv2.morphologyEx(img,MORPH_BLACKHAT,kernel)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pomwhan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值