opencv图像处理:图像预处理

转灰度图

1. 取b通道(人眼对波长为550nm左右的黄绿色最为敏感)
2. 取b/g/r的平均值gray=(b+g+r)/3,小心数据溢出
3. gray=r*0.299 + g*0.587 + b*0.114,浮点运算比较慢,为了加快速度可以用近似值gray=(r*3 + g*6 + b*1)/10
4. cv2.cvtColor

改变亮度

1. 线性:y=ax+b
2. 分段线性

改变对比度

1. 直方图均衡化

去掉背景

1. 同一场景两幅图像相减

局部图像

1. 二值蒙板与原图相乘

图像大小

1. 上采样:cv2.pyrUp
2. 下采样:cv2.pyrDown

边界填充

cv2.copyMakeBorder

平滑处理

1. 均值滤波:cv2.blur
2. 方波滤波:cv2.boxFilter

降噪

1. 中值滤波:cv2.medianBlur
2. 高斯滤波:cv2.GaussianBlur
3. 双边滤波:cv2.bilateralFilter
4. 去除“叠加性”随机噪音(同一场景的多个图像相加再求平均值)

直方图

横坐标:0-255个灰度等级
纵坐标:灰度值个数
cv2.calcHist(image, 通道, 掩膜(统计哪一部分),指定灰度级(把x轴的255分为几份), 像素取值范围)

直方图均衡化

1. 用来解决灰度值分布不均衡
2. 概率:个数/总数
3. 累计概率:概率相加
4. 函数映射后得到新灰度值:累积概率*255

自适应均衡化

把图像分块,再对每一块均衡化
clahe = cv2.createCLAHE()
clahe.apply(img)
equalizeHist() 正价对比度

傅里叶变换

1. 时域:以时间为参照
2. 频域:频率
3. 高频:变化剧烈的灰度分量,比如边界
4. 低频:变化缓慢的灰度分量
5. 低通滤波器:只保留低频,去掉了高频使图像模糊
6. 高通滤波器:只保留高频,保留细节
7. 傅里叶变换
  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值