上一节,我们学习了如何对两个直方图进行比较,看两幅图像的相似度是多少,经过上节的学习,相信大家对compareHist函数已经有了一个清晰的理解,本届呢,我们学习如何对一幅图像进行均衡化!

1、函数原型

void equalizeHist(InputArray src, OutputArray dst)

2、函数功能

直方图均衡化,用于提高图像的质量;

该函数使用以下算法对输入图像的直方图进行均衡化:

(1) 计算原图像的直方图H;

(2) 将柱状图归一化,使柱状图bin的总和为255;

(3) 计算直方图的积分;

直方图的积分

(4) 使用H‘作为查找表转换图像:dst(x,y) = H’(src(x,y);

该算法对图像的亮度进行了归一化处理,提高了图像的对比度;

3、参数详解

  • 第一个参数,InputArray src,8位单通道的图像;
  • 第二个参数,OutputArray dst,目标图像,与原图像具有同样的大小与类型;

4、实验实例

#include #include  using namespace cv;using namespace std;int main(){ Mat src = imread("test.jpg

python将图像转换为8位单通道_【图像处理】OpenCV系列三十五--- equalizeHist函数详解...相关推荐

  1. python将图像转换为8位单通道_使用Python将图片转换为单通道黑白图片

    本文介绍如何使用python将图片转换为纯黑白的单通道图片.文中用到的脚本支持彩色.灰度.带alpha通道的输入图片以及SVG矢量图,支持调整输出图片大小以及设置灰度阈值. 最后介绍如何输出SSD13 ...

  2. python将图像转换为8位单通道_Python OpenCV读取16位单通道图像并转换为8位灰度图显示...

    语义.实例分割数据集的标注图像以及一些深度图像等都是由单通道16位整型图像存储的,我们通常需要读取这种图像并显示出来,由于OpenCV一般只能够对8位图像进行显示,也就是像素范围在0-255的图像,而 ...

  3. 将图像转换为8位单通道_数字图像存储

    微信公众号:枫叶AI,专注计算机视觉,机器学习,人工智能等 数字化图像数据有两种存储方式:位图存储(Bitmap)和矢量存储(Vector).位图图像又称作点阵图像.位映射图像,它是由一系列像素组成的 ...

  4. python中transpose函数_对numpy中的transpose和swapaxes函数详解

    transpose() 这个函数如果括号内不带参数,就相当于转置,和.T效果一样,而今天主要来讲解其带参数. 我们看如下一个numpy的数组: `arr=np.arange(16).reshape(( ...

  5. 位深度讲解,opencv8位单通道和32位单通道解析

    在记录数字图像的颜色时,计算机实际是用每个像素需要的位深度来表示的,黑白二色的图像是数字图像中最简单的一种,它只有黑.白两种颜色,也就是说它的每个像素只有1位颜色,位深度是1,用2的一次幂来表示:考虑 ...

  6. Word处理控件Aspose.Words功能演示:在 Python 中将图像转换为 HTML

    图像被广泛用于说明视觉信息.但是,有时您可能需要将JPG或PNG图像转换为HTML格式.为了实现这样的需求,本文介绍了如何在 Python 中将 Image 转换为 HTML. Python 图像到 ...

  7. python中减法运算函数_OpenCV-Python图像的减法运算cv2.subtract函数详解以及和矩阵减...

    OpenCV-Python图像的减法运算cv2.subtract函数详解以及和矩阵减 OpenCV-Python图像的减法运算cv2.subtract函数详解以及和矩阵减法的差异对比 ? ? 前往老猿 ...

  8. [转载] OpenCV-Python图像位与运算bitwise_and函数详解

    参考链接: Python中的numpy.bitwise_and ☞ ░ 前往老猿Python博客 https://blog.csdn.net/LaoYuanPython ░ 一.概述 图像的与运算主要 ...

  9. OpenCV-Python图像位与运算bitwise_and函数详解

    ☞ ░ 前往老猿Python博客 https://blog.csdn.net/LaoYuanPython ░ 一.概述 图像的与运算主要用于获取某个图像中感兴趣的部分,是针对两个图像矩阵数组或一个数组 ...

最新文章

  1. 3D场景高级合成技术学习
  2. 决策树的C++实现(CART)
  3. linux密码忘记grub登陆,Linux忘记密码后使用grub重置密码
  4. oracle12c多个pdb,ProxmoxVE 之 oracle12C 多CDB和PDB
  5. python创建一个json_如何为Python选择一个更快的JSON库
  6. 学习Asp.Net经常会用到的函数集
  7. 乾坤 微前端_最全汇总之微前端知识和实战(EMP技术方案)
  8. Oracle提示“ORA-04098:触发器‘XXX_TRIGGER’无效且未通过重新验证”
  9. Microsoft .NET Framework 4 安装 1603错误的解决
  10. 如何通过带坐标信息的照片生成轨迹
  11. 厚积‘博’发,成就卓越IT人生!
  12. 毕业生见习期考核鉴定表(单位考核意见)
  13. 豆瓣电影喜剧榜数据爬取
  14. Python将图片插入到Excel中
  15. StringUtil工具类
  16. 关于C++ Boost库的使用
  17. Linux 文本替换 字符串替换 221012笔记
  18. 使用bartender打印RFID标签如何正确写入EPCID(intermec的RFID条码打印机)
  19. 力扣算法学习计划打卡:第七天
  20. 自然语言处理(英文停用词删除) Java程序

热门文章

  1. 十三、linux 内核驱动模块传参数
  2. spring cloud config将配置存储在数据库中 1
  3. Centos7 Docker Jenkins ASP.NET Core 2.0 自动化发布和部署
  4. Nginx反向代理WebSocket
  5. java的枚举类enum
  6. VMware手动启动USB Arbitration Service
  7. 使用 iptables 限制***猜密码续—深入 recent 模块
  8. .NET获取根目录方法
  9. wifi一键配网smartconfig原理及应用
  10. Java API帮助文档怎么查找?