OpenCV学习-P29-P32 Opencv直方图均衡化及掩膜

  • 1 直方图
  • 2 直方图均衡化
  • 3 直方图自适应均衡化

1 直方图

直方图原理:统计图像各个灰度区间的像素数


cv2.calcHist([img],[0],None,[256],[0,256])
[0]表示通道,[256]表示bin个数,[0,256]表示灰度值取值范围,参数需要加[]

img= cv2.imread(r'.\\20220822162647.jpg',0)histr=cv2.calcHist([img],[0],None,[256],[0,256])
plt.figure(figsize=(10,6),dpi=100)
plt.plot(histr)
plt.show()

如果需要提取图像某部分直方图,可以给calcHist添加掩膜

img= cv2.imread(r'.\\20220822162647.jpg',0)mask=np.zeros(img.shape[:2],np.uint8)
mask[200:250,100:300]=255
masked_img=cv2.bitwise_and(img,img,mask=mask)
histr=cv2.calcHist([img],[0],None,[6],[0,256])
fig,axes=plt.subplots(nrows=2,ncols=2,figsize=(10,8))axes[0,0].imshow(img)
axes[0,0].set_title("原图")axes[0,1].imshow(mask)
axes[0,1].set_title("蒙版数据")axes[1,0].imshow(masked_img)
axes[1,0].set_title("掩膜后数据")axes[1,1].plot(histr)
axes[1,1].set_title("灰度直方图")
axes[1,1].grid()plt.rcParams['font.sans-serif']=['SimHei']
plt.show()

2 直方图均衡化

直方图均衡化可提高图像整体对比度,在曝光过度或不足的图像中可以更好的突出细节

3 直方图自适应均衡化

dst=cv.equalizeHist(img)
自适应直方图均衡化:全局直方图均衡化后,可能会丢失部分细节信息,如下图人脸原来是清晰的,均衡化后太亮就不清晰了,所以需要将图像分为很多小块(称为tiles,在opencv中默认为8*8),对每个小块进行直方图均衡化,

OpenCV学习-P29-P32 Opencv直方图均衡化、掩膜相关推荐

  1. opencv学习笔记21:直方图和掩膜 原理及其应用

    直方图概念 如图:下面黑色图为上面图的直方图 横坐标:图像中各个像素点的灰度级 纵坐标:具有该灰度级的像素个数. 归一化直方图 横坐标:图像中各个像素点的灰度级 纵坐标:出现该灰度级的概率. DIMS ...

  2. OpenCV学习笔记#002 OpenCV相机检校例程运行

    OpenCV学习笔记#002 OpenCV相机检校例程运行 OpenCV学习笔记#002 OpenCV相机检校例程运行 所需文件 修改文件 修改in_VID5.xml 修改VID5.xml VS 设置 ...

  3. 【opencv学习】【图像直方图和均衡化】

    今天学习图像直方图和图像均衡化 一:图像直方图 import cv2 import numpy as np import matplotlib.pyplot as plt# 图像的直方图,就是统计哪些 ...

  4. OpenCV学习(二十) :直方图匹配、对比:calcHist(),minMaxLoc(),compareHist()

    直方图匹配.对比:calcHist ,minMaxLoc,compareHist 1.calcHist()函数 2.归一化:normalize()函数 3.minMaxLoc()函数 4.compar ...

  5. OpenCV学习笔记五:直方图

    图像由不同颜色值的像素组成,像素值在图像中的分布情况是图像的一个重要特征. 一.计算图像的直方图 直方图是一个简单的表,它给出了图像中各个像素值的数目(归一化后则为相应的比例),在OpenCV中可以使 ...

  6. python实现opencv学习十一:图像直方图

    绘出图片直方图 代码: # -*- coding=GBK -*- import cv2 as cv #导入整个cv2包 from matplotlib import pyplot as plt #从m ...

  7. OpenCV图像增强算法实现(直方图均衡化、拉普拉斯、Log、Gamma)

    1. 基于直方图均衡化的图像增强 这个博客总结的特别好,分清楚每个方法适用于什么样的情况. 直方图均衡化是通过调整图像的灰阶分布,使得在0~255灰阶上的分布更加均衡,提高了图像的对比度,达到改善图像 ...

  8. OpenCV学习笔记之OpenCV安装

    一.  Opencv的安装及配置 Qt有两种版本:mingw版本和MSVC版本.1.MSVC是指微软的VC编译器:2.MinGW是指是Minimalist GNU on Windows的缩写.它是一个 ...

  9. (学习笔记)图像处理——直方图均衡化(HE)

    文章目录 前言 原理 步骤 优缺点 改进 自适应均衡化(AHE) 限制对比度的自适应直方图均衡化(CLAHE) 实现 前言 利用直方图将图像对比度进行调整,可用来增强局部对比度而对其他部分对比度不受影 ...

  10. OpenCV学习——绘制图像灰色直方图

    一.环境 OpenCV3.4.1 VS2015 二.代码 #include <opencv2/opencv.hpp> using namespace std; #pragma commen ...

最新文章

  1. CentOS 8中安装Docker出现和Podman冲突
  2. 在Foreda8上安装libaio-0.3.105-2.i386.rpm
  3. spark报错: Yarn application has already ended! killed or unable to launch application master
  4. java集合类详解_【Java入门提高篇】Day20 Java集合类详解(三)List接口
  5. 使用Oracle的DBMS_SQL包执行动态SQL语句
  6. keras实现nlp
  7. linux 查看内存和cup使用率
  8. 中国互联网大人物直播简史
  9. HTML禁用浏览器后退功能
  10. MIT 操作系统实验 MIT JOS lab1
  11. 会议签到效率低,怎么办?用这招轻松解决
  12. C++学习之boost安装及thread使用
  13. NER综述 | 命名实体识别的过去和现在
  14. windows程序窗口
  15. 计算机操作系统的阶段分为几个阶段,浅谈操作系统的发展历程
  16. Unity3D粒子系统实现落叶效果
  17. JL杰理蓝牙发射方案开发
  18. airbnbs收入预测数据平台
  19. 2018年Unity3D游戏开发前景预测
  20. Leetcode(1110)——删点成林

热门文章

  1. 使用EFM8微控制器进行项目开发:SPI总线控制LCD
  2. 哈尔滨理工大学软件与微电子学院程序设计竞赛(19级新生赛)——题解
  3. 《风丶宇的个人博客》项目开发
  4. HTML的字母H含义是,h字母含义
  5. 计算机会议影响因子排名,计算机国际顶级会议列表及其影响因子计算机国际顶级会议列表及其影响因子.doc...
  6. 使用jeecg-boot心得
  7. 中科大非全日制软件工程硕士和调剂相关问题
  8. 砥砺深耕,笃行致远向未来——中国社科院与美国杜兰金融管理硕士项目
  9. 敲代码时如何快速移动光标_数控加工中心编程入门知识,半小时快速入门!
  10. html小数转百分比函数,excel合格率公式 把小数点设置百分比就可以了