`
huangyongxing310
  • 浏览: 496295 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

opencv 直方图

 
阅读更多
# -*-encoding:utf-8-*-
import pytesseract
from PIL import Image
from PIL import ImageFilter
from PIL import ImageFont
from PIL import ImageDraw
import numpy as np
from PIL import Image

import cv2
import matplotlib.pyplot as plt

def main():
    # 计算并绘制直方图
    # (自适应)直方图均衡化
    # OpenCV函数:cv2.calcHist(), cv2.equalizeHist()

    # =================================直方图计算
    # cv2.calcHist(images, channels, mask, histSize, ranges)
    # 参数1:要计算的原图,以方括号的传入,如:[img]
    # 参数2:类似前面提到的dims,灰度图写[0]
    # 就行,彩色图B / G / R分别传入[0] / [1] / [2]
    # 参数3:要计算的区域,计算整幅图的话,写None
    # 参数4:前面提到的bins,子区段数目,如果我们统计0~255每个像素值,bins=256;如果划分区间,比如0~15, 16~31…240~255这样16个区间,bins=16
    # 参数5:前面提到的range,要计算的像素值范围,一般为[0,256](不包括256)
    img = cv2.imread("hist.jpg")
    img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    hist = cv2.calcHist([img_gray], [0], None, [256], [0, 256])  # 性能:0.025288 s

    #  =================================绘制直方图
    # Matplotlib自带了一个计算并绘制直方图的功能
    plt.hist(img_gray.ravel(), 256, [0, 256])
    plt.show()

    #  =================================直方图均衡化
    equ = cv2.equalizeHist(img_gray)

    #  =================================自适应均衡化(局均衡化部,一小块一小块进行的)
    # 自适应均衡化,参数可选
    clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8, 8))
    cl1 = clahe.apply(img_gray)



    # cv2.imshow('equalization', equ)  # 并排显示
    cv2.imshow('equalization', np.hstack((img_gray,equ)))  # 并排显示
    cv2.imshow('cl1', cl1)  # 并排显示
    cv2.waitKey(0)

if __name__ == '__main__':
    main()
分享到:
评论

相关推荐

    opencv直方图均衡化

    opencv直方图均衡化程序,对学习opencv编程的会有所帮助

    opencv直方图计算

    **OpenCV直方图计算详解** 在计算机视觉领域,直方图是一种强大的工具,用于量化图像的像素分布。OpenCV库提供了丰富的功能来处理图像,其中包括直方图的计算。本篇文章将深入探讨如何在Visual Studio 2010环境下...

    opencv直方图滤波的实现

    在OpenCV库中,直方图滤波是一种用于图像处理的技术,主要应用于图像增强、噪声去除和特征提取等场景。直方图滤波的核心在于计算和分析图像的灰度或颜色分布,即直方图,然后基于这个分布进行图像的变换。本篇文章将...

    opencv直方图方法使用

    ### opencv直方图方法使用 #### 直方图等化概述 直方图等化(Histogram Equalization)是一种常见的图像处理技术,主要用于改善图像对比度。通过该方法,可以使得图像的像素值分布更加均匀,进而提升图像的整体...

    opencv直方图统计

    本篇文章将深入探讨与“opencv直方图统计”相关的知识点,包括反投影映射、Meanshift算法以及LUT(查找表)在直方图处理中的应用。 首先,直方图是图像分析的基础,它表示图像中不同灰度级或颜色出现的频率。在...

    OpenCV直方图均衡化

    ### OpenCV直方图均衡化 #### 知识点一:理解直方图与直方图均衡化的原理 **直方图**是统计学中的一种图表形式,它以条形的高度来表示数值出现的频率。在图像处理领域,直方图通常用来表示图像亮度或者颜色的分布...

    OpenCV直方图统计

    OpenCV直方图统计 OpenCV是一款强大的计算机视觉库,它提供了许多功能强大且实用的图像处理函数,包括直方图统计。本文旨在介绍OpenCV中的直方图统计函数,并通过实例代码展示如何使用这些函数来统计灰度图像的直方...

    QT opencv 直方图插件

    在这个“QT opencv 直方图插件”项目中,我们将深入探讨如何利用这两个工具来实现一个自定义的直方图插件。 首先,直方图是表示图像中像素分布的一种统计图表,它在图像分析和处理中起到关键作用,如亮度调整、对比...

    opencv直方图程序代码

    对于颜色直方图的统计,应该还可以用更多的该进,诸如当S分量小于给定值时,不同H,人眼看上去都是白色,可以将这些颜色的统计归并到白色中去。

    OpenCV直方图所有应用

    ### OpenCV直方图的所有应用 #### 一、直方图的基本概念 直方图(Histogram)作为一种非参数的概率分布表达方法,在计算机视觉领域中扮演着极其重要的角色。特别是对于图像处理来说,直方图提供了关于图像亮度或...

    基于Android的OpenCV图像直方图均衡的实现

    OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,网络上一些小伙伴写的一些关于Android版OpenCV的博客,大部分都模糊不清,基本就复制粘贴的,有些甚至没有实践就直接贴上去了,这样...

    zhifangtu.rar_opencv 直方图

    在本项目中,“zhifangtu.rar_opencv 直方图”是使用C++编程语言和OpenCV库实现的一个图像直方图统计应用。OpenCV(Open Source Computer Vision Library)是一个强大的计算机视觉库,提供了丰富的图像处理和计算机...

    利用OpenCV获得图像直方图

    本文将详细讲解如何利用OpenCV获取图像的直方图,包括灰度图像和彩色图像的处理。 首先,理解图像直方图的基本概念是至关重要的。直方图是一种统计报告图,由一系列高度不等的纵向条纹或线段表示数据分布的情况。在...

    OpenCV直方图均衡

    OpenCV直方图均衡,单通道图像的直方图均衡前后结果,包括均衡化前后的直方图。

    openCV直方图C++

    在本项目中,我们关注的是使用C++编程语言通过OpenCV实现直方图的计算和归一化。直方图是理解图像色彩分布的重要手段,而归一化则有助于比较不同图像的直方图。 直方图是图像特征的一种统计表示,它将图像的像素值...

    对OpenCV直方图的数据结构CvHistogram的理解

    ### 对OpenCV直方图的数据结构CvHistogram的理解 #### 数据结构CvHistogram解析 在计算机视觉领域,尤其是图像处理中,直方图是一个非常重要的工具,它可以帮助我们理解图像中像素强度的分布情况。在OpenCV库中,...

    OpenCV直方图代码实例

    在这个"OpenCV直方图代码实例"中,我们将深入探讨如何使用C++语言来实现图像直方图的计算和可视化。 直方图是统计学中的一个概念,它通过将图像的像素值划分为多个等间距的区间(称为“bin”),然后统计每个区间内...

    OPENCV输出直方图

    本项目聚焦于利用OpenCV 3.2库来实现图像的直方图输出,这是一项重要的图像分析任务,可以帮助我们理解图像的亮度分布和颜色特性。下面将详细介绍如何使用C++语言结合OpenCV实现这一功能。 首先,直方图是表示图像...

    opencv直方图操作

    本篇文章将深入探讨如何使用OpenCV进行图像直方图的操作,包括直方图的计算、绘制以及直方图均衡化等概念。 一、直方图基础 直方图是统计学中一种表示数据分布的方法,它可以直观地反映出图像中各个灰度级像素的...

    opencv基于颜色直方图进行模板图像匹配检测的程序

    本程序的主题是利用OpenCV的颜色直方图进行模板图像匹配检测。颜色直方图是一种统计图像中颜色分布的方法,通过计算每个颜色通道的像素数量,可以形成一个反映图像颜色特征的图形。这种方法在图像检索、对象识别和...

Global site tag (gtag.js) - Google Analytics