phython+opencv图像处理

做了两天的直方图均衡,还差一点点,先把前面的发布出来,后面的再慢慢来吧

直方图均衡主要是用于增强动态范围偏小的图像。
它的基本思想是把原始图像的直方图变换为在整个灰度范围内均匀分布的形式,这样可以增加像素灰度值的动态范围,从而达到增强图像对比度的结果。
它的步骤如下:
1、统计直方图每个灰度级出现的次数
其代码如下:
2、归一化直方图
其代码如下:
3、累积直方图
其代码如下:
4、取整
取整函数为g=int[(L-1)f+0.5]
其中,f是原值,L是灰度级-1
其代码如下:
后面还有两步,5、确定映射关系,计算新的直方图。6、输出图像。
这两步下一篇再介绍。
这里演示一下前四步的运行结果为:
主程序的代码如下:
#主程序
img=cv.imread('E:/image/road.jpg',0)
re=h(img)#原图直方图
gui=normed(re,img)#归一化直方图
lei=leiji(gui)#累积直方图
z=zheng(lei)#取整
plt.figure(figsize=(12,5))
plt.subplot(141)
plt.bar(range(256),re,width=1)
plt.title("直方图")
plt.subplot(142)
plt.bar(range(256),gui,width=1)
plt.title("归一化直方图")
plt.subplot(143)
plt.bar(range(256),lei,width=1)
plt.title('累积直方图')
plt.subplot(144)
plt.bar(range(256),z,width=1)
plt.title("取整后直方图")
(0)

相关推荐

  • Python进阶——OpenCV之Core Operations

    文章目录 图像基本操作 访问并修改像素值 访问图像的属性 设置图像区域 图像分割与合并 画图像边框 图像的数学操作 图像叠加 图像融合 图像位操作 Python OpenCV代码检测与速度优化 时隔一 ...

  • python进阶—OpenCV之图像处理(一)

    文章目录 颜色空间转换 RGB色彩空间 HSV色彩空间 YUV色彩空间 简单的物体跟踪示例 HSV空间目标阈值选取 图像几何变换 图像的缩放 图像的位移 图像的旋转 图像的仿射 图像的投射 图像阈值( ...

  • 基于OpenCV的图像强度操作

    重磅干货,第一时间送达 01. 什么是图像强度操作 更改任何通道中的像素值 对图像的数学运算 亮度变化 对比度变化 伽玛操纵 直方图均衡 图像预处理中的滤波等增强 使用OpenCV加载图像 impor ...

  • 【精品博文】直方图均衡及其FPGA实现

    毕业设计要设计一块刚挠结合板,准备设计8层,前段时间天天原理图.layout,身心疲惫啊,给自己放了10天假,回来继续原理图.layout. 之前写过直方图均衡的matlab和Verilog代码,最近 ...

  • 【从零学习OpenCV 4】直方图均衡化

    重磅干货,第一时间送达 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4入门书籍<从零学习OpenCV 4>.为了更让小伙伴更早的了解最新版的OpenCV 4,小白与出版社沟通 ...

  • 【精品博文】建立灰度直方图

    (1)基本概念 如果将图像中像素的灰度级别看作是一个随记变量(概率论中学到的随记变量,对后续直方图均匀化的推到至关重要),则其分布的情况就可以用概率密度函数(PDF)来刻画和描述,即表现为灰度直方图( ...

  • OpenCV图像处理教程C++(二十)轮廓发现、凸包、轮廓周围绘制圆和矩形

    轮廓发现–边缘 轮廓发现是基于图像边缘提取的基础寻找对象轮廓的方法,所以边缘提取的阈值选定会影响最终轮廓结果拓扑:就是把实体抽象成与其大小.形状无关的点,而把连接实体的线路抽象成"线&quo ...

  • (一)OpenCV图像处理基础

    轮廓周围绘制矩形框和圆形框 轮廓周围绘制多边形 approxPolyDP(InputArray curve, OutputArray approxCurve, double epsilon, bool ...

  • (三)OpenCV图像处理

    直接 直接用霍夫直线检测,效果差; 通过图像形态学操作来寻找直线,霍夫获取位置信息与显示. #include <opencv2/opencv.hpp>#include <iostre ...

  • (1条消息) OpenCV图像处理实际案例(二)

    本博客算法及代码参考自贾志刚老师的<OpenCV图像处理-小案例实战>,若涉及侵权问题,望通知,会第一时间删除. 功能要求: 从如下图片中找出所有直线.  解决方案一: 直接进行霍夫直线检 ...

  • python+opencv图像处理(四十四)

    童年记忆中的爆米花,小时候只在过年的时候才能吃到,现在偶尔能在路边看到有在爆的,看到了总忍不住想买,虽然味道没什么变化,只是再吃不出来以前的幸福了. 长大了......心也大了...... 可是,实力 ...

  • python+opencv图像处理(四十三)

    Luplacian算子 1.Luplacian算子 可以用二阶导数可以用来检测边缘,拉普拉斯算子是线性二阶微分算子. 2.Luplacian算子实现 在 OpenCV 中, 可以用函数Laplacia ...

  • python+opencv图像处理(四十二)

    Kirsch算子 1.Kirsch算子 Kirsch算子是R.Kirsch提出来一种边缘检测新算法,它采用8个模板对图像上的每一个像素点进行卷积求导数,这8个模板代表8个方向,对图像上的8个特定边缘方 ...

  • python+opencv图像处理(四十一)

    提前过了个万圣节,南瓜灯还蛮好看的,就是那些装鬼的有点吓人...... Scharr算子 1.Scharr算子 Scharr算子也是用于提取图像边缘的. 它是对Sobel算子差异性的增强,两者的原理和 ...

  • python+opencv图像处理(四十)

    Sobel算子  开头来张帅哥...... ----------------------这是严谨的分割线-------------------------- 1.Sobel算子(索贝尔算子) Sobe ...