cv2 inrange灰度图_OpenCV学习笔记二:OpenCV中的图像处理

1 颜色空间转换

1.1. OpenCV有超过150种进行颜色空间转换的方法,最常用BGR与GRAY/HSV转换

1.2. HSV:Hue色调,Saturation饱和度,Value明度,HSV比GBR更容易表示特定颜色

1.3. 函数:cv2.cvtColor()

1.4. cv2.inRange()可根据阈值,生成特定颜色的掩模

2 几何变换

2.1. 扩展缩放:cv2.resize()

2.2. 平移/旋转:cv2.warpAffine() + 2x3移动矩阵

2.3. 旋转矩阵:cv2.getRotationMatrix2D()=>构建旋转矩阵

2.4. 仿射变换矩阵:cv2.getAffineTransform()=>构建仿射变换矩阵2x3

2.5. 透视变换矩阵:cv2.getPerspectiveTransform()=>3x3透视变换矩阵

2.6. 透视变换:cv2.warpPerspective()+ 3x3移动矩阵,常用于图像矫正

2.7. 仿射变换可保证物体形状平直性和平行性,透视不能保证平行性,仿射是透视特例

3 图像阈值

3.1. 简单阈值:cv2.threshold()

3.2. 自适应阈值:cv2.adaptiveThreshold()

3.3. Otsu’s二值化:大津法,最大类间方差法,该算法返回最优阈值,不适合非双峰图像

4 图像平滑

4.1. 与一维信号一样,我们也可以对2D图像实施低通滤波器(LPF)来去除噪声、模糊图像,使用高通滤波器(HPF)找到图像的边缘。

4.2. 卷积操作:cv2.filter2D() + 卷积核

4.3. 图像模糊(图像平滑)使用LPF来实现。OpenCV提供了四种模糊技术:

4.3.1 平均:平均值代替中心元素=》cv2.blur() 和cv2.boxFilter()

4.3.2 高斯模糊:卷积核换成高斯核=》cv2.GaussianBlur(),自己也可以构造高斯核:cv2.getGaussianKernel()

4.3.3 中值模糊:中值代替中心元素=》cv2.medianBlur()

4.3.4 双边滤波:同时考虑空间高斯权重(确保邻域像素对中心点有影响)和灰度值相似权重(确保只有与中心点灰度值相近的才会用来做模糊运算),边界处灰度值变化大,不会被模糊掉,保持边界清晰=》cv2.bilateralFilter()

5 形态学转换

5.1. 前景为白色,背景为黑色。两个基本形态学操作为:腐蚀和膨胀

5.2. 腐蚀:卷积核沿图像滑动,若卷积核对应图像所有像素为1,则中心元素就保持原像素值,否则变为0(白色变少,黑色变多)=》cv2.erode()

5.3. 膨胀:与腐蚀相反,与卷积核对应的原图像的像素值

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值