python + opencv图像处理(十二)——直方图应用

数字图像处理编程基础:Python语言不调用OpenCV函数实现直方图统计和直方图均衡 Python语言不调用OpenCV函数实现均值滤波编译环境前提代码运行结果目的 编译环境 由于编程语言选择Python,所以博主用的编译器为PyCharm 2017 前提 我们在学了冈萨雷斯的数字图像处理(第三版)之后,了解到里面涉及到直方图处理(P72),首先对一副图像需要先进行直方图统计,统计工作完成之后,再进行直方图均衡,为锻炼编程能力,这里不调用opencv中的函数直接进行,而是自己写统计... 阅读详情

直方图均衡化
直方图比较
调整对比度:1、整体;2、局部
都是对灰色图像

from cv2 import cv2 as cv
import numpy as np 

# 直方图均衡化都是针对灰色图像
# 整体
def equalHist_demo(image):
    gray = cv.cvtColor(image,cv.COLOR_BGR2GRAY)    
    dst = cv.equalizeHist(gray) 
    cv.imshow('equalHist_demo',dst)

# 局部
def clahe_demo(image):
    gray = cv.cvtColor(image,cv.COLOR_BGR2GRAY)
    clahe = cv.createCLAHE(clipLimit=5.0,tileGridSize=(8,8))  # #clipLimit是对比度的大小,tileGridSize是每次处理块的大小
    dst = clahe.apply(gray)  
    cv.imshow('clahe_demo',dst)

def create_rgb_hist(image):
    h,w,c = image.shape
    rgbHist = np.zeros([16*16*16,1],np.float32)
    bsize = 256/16
    for row in range(h):
        for col in range(w):         
            b = image[row,col,0]
            g = image[row,col,1]
            r = image[row,col,2]
            index = np.int(b/bsize)*16*16 + np.int(g/bsize)*16 + np.int(r/bsize)
            rgbHist[np.int(index),0] = rgbHist[np.int(index),0] + 1
    return rgbHist

# 比较需要大小一样
def hist_compare(image1,image2):
    hist1 = create_rgb_hist(image1)
    hist2 = create_rgb_hist(image2)
    match1 = cv.compareHist(hist1,hist2,cv.HISTCMP_BHATTACHARYYA)
    match2 = cv.compareHist(hist1,hist2,cv.HISTCMP_CORREL)
    match3 = cv.compareHist(hist1,hist2,cv.HISTCMP_CHISQR)
    print('巴氏距离:%s, 相关性:%s, 卡方:%s'%(match1,match2,match3))



if __name__ == "__main__":
    filepath1 = "C:\\pictures\\6.jpg"
    img1 = cv.imread(filepath1)       # blue green red
    filepath2 = "C:\\pictures\\10.jpg"
    img2 = cv.imread(filepath2)
    # cv.namedWindow("input image",cv.WINDOW_AUTOSIZE)
    cv.imshow("input image1",img1)
    cv.imshow("input image2",img2)


    # equalHist_demo(img)
    # clahe_demo(img)
    hist_compare(img1,img2)

    cv.waitKey(0)
    cv.destroyAllWindows()

两个图的比较
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Python3与OpenCV3.3 图像处理(十二)--图像直方图应用 一、调节对比度 import cv2 as cv def equalHist(image): """直方图均衡化,图像增强的一个方法""" #彩色图片转换为灰度图片 gray=cv.cvtColor(image,cv.COLOR_BGR2GRAY) #直方图均衡化,自动调整图像的对比度,让图像变得清晰 dst=cv.equalizeH... 阅读详情

相关推荐

OpenCV-Python实战(7)——直方图详解

直方图是一种强大的技术,可以用于更好地理解图像内容。例如,许多相机在拍照时会实时显示正在捕获的场景的直方图,以调整相机拍摄的一些参数(例如曝光时间、亮度或对比度等)。在本文中,我们将学习直方图的相关概念,以及如何创建直方图。

盼小辉丶的博客 2万+

基于rgb色域直方图重叠面积最大化的自动白平衡算法(附matlab程序)

本文是对论文“Auto White Balance Using the Coincidence of Chromaticity Histograms”中自动白平衡算法的matlab实现。论文思想也很简单,就是颜色直方图反映了色温信息,良好照明(合适色温)下的图像各颜色通道直方图通常具有较大的重叠面积,否则则图像中的颜色直方图的重叠面积通常较小(示例见fig1),于是可以根据颜色直方图重叠面积最大化原则来设计自动白平衡算法。其中,转换到rgb色域是为了消除亮度变化的影响。计算直方图重叠面积时则只计算50~12

u014230360的博客 2276

OpenCV-Python实战(8)——直方图均衡化

图像处理技术是计算机视觉项目的核心,通常是计算机视觉项目中的关键工具,可以使用它们来完成各种计算机视觉任务。在本文中,将介绍如何使用 OpenCV 函数 cv2.equalizeHist() 执行直方图均衡,并将其应用于灰度和彩色图像,cv2.equalizeHist() 函数将亮度归一化并提高图像的对比度。

盼小辉丶的博客 2万+

Opencv-Python学习笔记(十一):图像直方图

本篇博客记录学习OpenCV-Python图像直方图的相关知识。 使用OpenCV和Numpy函数查找直方图,使用Matplotlib函数绘制直方图 您要学习的函数有:cv2.calcHist(),np.histogram()等。 原理 什么是直方图呢?通过直方图我们可以对整幅图像的灰度分布有一个整体的了解。直方图的 x 轴是灰度值( 0 到 255), y 轴是图片中具有同一个灰度值的点的...

MMagicLoren的博客 1767

[Python图像处理] 三十七.OpenCV直方图统计两万字详解(掩膜直方图、灰度直方图对比、黑夜白天预测)

该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门、OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子、图像增强技术、图像分割等,后期结合深度学习研究图像识别、图像分类应用。希望文章对您有所帮助,如果有不足之处,还请海涵~ 前面一篇文章介绍了OpenCV图像处理入门知识、算数逻辑运算与图像融合。这篇文章将介绍图像几何变换,包括:图像平移变换、图像缩放变换、图像旋转变换、图像镜像变换、图像仿射变换和图像透视变换,万字长文整理,希望对您有所帮助。 同时,该部分知识均为作

杨秀璋的专栏 8163

[Python图像处理] 三十八.OpenCV图像增强和图像去雾万字详解(直方图均衡化、局部直方图均衡化、自动色彩均衡化)

前面一篇文章介绍了直方图统计,包括Matplotlib和OpenCV绘制直方图、掩膜直方图、灰度直方图对比及通过直方图预测黑夜白天。这篇文章将详细讲解图像增强知识,从而改善图像质量,增强图像识别效果,核心内容分为直方图均衡化、局部直方图均衡化和自动色彩均衡三部分。万字长文整理,希望对您有所帮助。

杨秀璋的专栏 1万+

图像直方图以及直方图的应用

一、绘画出直方图 1、使用matplotlib 中pyplot 库建图 plt.hist(image.ravel(), 256, [0, 256])方法是统计原图拥有每一像素单位0<=i<=255(这里包括r,g,b三色)的像素点的个数 from matplotlib import pyplot as plt def plot_demo(image): plt.his...

CHWB2580的博客 3554

[Python图像处理] 十一.灰度直方图概念及OpenCV绘制直方图

本篇文章主要讲解灰度直方图的基本概念,Python调用OpenCV实现绘制图像直方图,基础性知识希望对您有所帮助。 1.灰度直方图基本概率 2.绘制直方图 3.使用OpenCV统计绘制直方图

杨秀璋的专栏 2万+

如何把一个RGB图像直方图显示

##第一步先构造一个子函数 Mat getHistImage(const MatND&amp;amp;amp;amp;amp;amp;amp; hist) { double maxValue = 0; double minValue = 0; int a = 0; for (int i = 0; i &amp;amp;amp;amp;amp;amp;lt; hist.rows; i++) { for (int j = 0; j &amp;amp;amp;

无敌阿强的博客 1989

Anaconda安装教程(超详细版)

目录 一、Anaconda简介 二、运行环境 三、安装Anaconda 四、手动配置环境变量(重点) 五、测试Anaconda环境是否配置成功 一、Anaconda简介 Anaconda,一个开源的Python发行版本,可用于管理Python及其相关包,包含了conda、Python等180多个科学包及其依赖项。 二、运行环境 Windows11 (Window10用户亦可参考,仅环境变量打开位置不同)。 三、安装Anaconda (1)百度“Anaconda”或者输入网址

m0_61607990的博客 22万+

保姆级教程:用NodeMediaClient在Android实现RTMP拉流播放(附避坑指南)

本文提供了一份详尽的Android平台RTMP拉流播放实现与深度调优指南。重点介绍了如何使用NodeMediaClient库进行集成,并针对视频卡顿、花屏等常见问题,从渲染引擎选择(SurfaceView与TextureView)、解码策略、缓冲区优化到高级网络自适应等方面提供了实战解决方案与避坑技巧。

weixin_29261711的博客 440

计算RGB图像直方图(一)

RGB图像代表每个像素占4个字节(RGB占3字节还有一个字节空),R、G、B分量各占一个字节,每个分量都有256种取值可能(每个分量值是32位整数)。因此RGB图像的直方图是一个256 * 3的数组。 软件算法: // This function computes the histogram for R, G, and B. // // image_data is a pointer to ...

su@coding的专栏 5675

强化学习 reward 曲线可视化:从基础绘制到顶刊级对比分析

本文详细介绍了强化学习reward曲线的可视化方法,从基础绘制到顶刊级对比分析。通过matplotlib和seaborn的实战示例,展示了如何优化曲线图的视觉效果,包括多实验对比、置信区间添加和分面图应用。文章还分享了顶刊级图表的进阶技巧,如字体排版、颜色选择和关键标注,帮助研究者提升论文图表质量。

weixin_29096377的博客 271

【OpenCV-Python】:直方图及直方图均衡化(有源码)

直方图   直方图是进行图像处理过程中的一种非常重要的工具。它是从图像内部灰度级的角度对图像进行表述。   直方图统计的是图像内各个灰度级出现的次数。 直方图的绘制 1.使用pyplot绘制直方图   使用函数:matplotlib.pyplot.hist(X, BINS) X 和 BINS 的参数如下:   X:数据源,必须是一维的。对于通常的二维图像来说,需要使用ravel()函数将图像处理为一维数据源。   BINS:表示灰度级的分组情况。   函数ravel()的作用是将二维数组降维成一维数组,举例

王乐予的博客 1万+

自托管AI邮件助手imap-mcp:安全连接Claude与个人邮箱的完整指南

在AI助手日益普及的今天,如何安全地让AI访问个人邮箱数据成为关键挑战。传统方法如直接暴露IMAP/SMTP凭证存在严重安全隐患,而第三方SaaS服务则涉及隐私泄露风险。Model Context Protocol (MCP) 作为一种新兴的标准化协议,为AI工具安全接入提供了解决方案。其核心价值在于实现数据源与AI助手间的安全、标准化交互,特别适用于处理敏感信息的场景。imap-mcp正是基于MCP协议构建的自托管邮件网关,它通过多层安全机制(包括主密钥加密和OAuth令牌哈希化)保护用户凭证,让用户能在

weixin_28295799的博客 656

Leads、SDR、MQL、SQL、L2C术语概念,线索创建与清洗、线索分级模型、线索流转策略、线索的统计与分析

CRM中的“Leads”是什么?笔者在文中不仅较为全面地介绍了相关术语概念,还分析了线索的创建与清洗、线索的分级模型、线索流转策略以及线索的统计与分析。

盼盼学士 5960

Python OpenCV 图像处理之直方图相关知识细节,学点细的

直方图绘制细节补充

梦想橡皮擦,专栏100例写作模式先行者,现象级专栏 《Python 爬虫 100 例》作者、《滚雪球学 Python 专栏》原创者 1万+

传感器使用——ESP-WROOM-32 and INMP441麦克风音频采集

传感器使用——ESP-WROOM-32 and INMP441麦克风音频采集,数据显示及matlab操作界面。

qq_41958946的博客 7355

Python opencv图像处理基础总结(三) 图像直方图 直方图应用 直方图反向投影

python与opencv进行图像处理基础总结,图像直方图的绘制;直方图应用,利用直方图均衡化可以实现增强图像对比度的效果,还可以利用直方图比较来对比两张图像相似度;直方图反向投影,用于图像分割或查找图像中感兴趣的对象。

叶庭云 成为自己的光 3533

IoU的进化之路——IoU、GIoU、DIoU、CIoU四种损失函数总结

IoU、GIoU、DIoU、CIoU四种损失函数总结

chase 8131

18年陕西省TI杯电赛无人机赛题视觉部分

更新: 相同任务另外两种不同的视觉方法: https://blog.youkuaiyun.com/qq_41895747/article/details/97613077 https://blog.youkuaiyun.com/qq_41895747/article/details/97614971 任务:识别前方的方框,无人机从方框中飞出去 视觉任务:识别特定方框,返回方框中心坐标 # -*- codin...

沉迷单车的追风少年 1506

【OpenCV-Python】 直方图均衡化

OpenCV 直方图均衡化 直方图 直方图相关术语 BINS DIMS RANGE OpenCV中直方图的计算 Numpy中直方图的计算 绘制直方图 1. 使用Matplotlib 2. 使用OpenCV 应用遮罩 直方图均衡化 直方图均衡化算法 Numpy中的直方图均衡化 Numpy相关函数 计算累计和cumsun() 直方图均衡化 示例1:单通道的灰阶图的直方图均衡化 ...

赞美月亮的专栏 1万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Python OpenCV 图像处理之图像直方图,取经之旅第 25 天

直方图在 Python OpenCV 中的妙用

梦想橡皮擦,专栏100例写作模式先行者,现象级专栏 《Python 爬虫 100 例》作者、《滚雪球学 Python 专栏》原创者 2万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

OpenCV—python 颜色直方图与直方图均衡化(颜色修改)

一、读取图片并展示:颜色直方图 OpenCV-Python中调用的直方图计算函数为cv2.calcHist。 &quot;&quot;&quot; hist = cv2.calcHist([image], # 传入图像(列表) [0], # 使用的通道(使用通道:可选[0],[1],[2]) ...

红叶谷 wsp_1138886114的博客 1万+

python图像处理:直方图的规定化(直方图匹配)

写在前面 因为笔者数字图像处理的作业是要求用VB来做规定化的处理,笔者写出来后想看看python有什么库可以实现,毕竟像均衡化之类的操作都可以通过py的cv2库里的函数解决,但是在优快云上查询的时候发现大家都是用openCV或者matlab来做,python并没有相关的函数来进行规定化,唯一一个有规定化代码的但是是需要付钱的,于是笔者就用python写了一个可以做灰度图像直方匹配的代码。 (一)...

qq_44171096的博客 1万+
上一篇: python + opencv试纸缺陷检测——思路
下一篇: python + opencv图像处理(十三)——直方图的反向投影
xiao黄
xiao黄 优质创作者: 人工智能技术领域 优质创作者: 人工智能技术领域 领域专家: 数据科学与机器学习技术领域 领域专家: 数据科学与机器学习技术领域
博客等级 码龄8年 1万+粉丝 250原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiao黄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值