精华内容
下载资源
问答
  • 绘制灰度直方图

    2015-04-20 21:31:51
    利用 OpenCV 对图像像素进行操作, 计算归一化直方图。并在窗口中绘制灰度直方图
  • 最大值 pyplot.axis([0, 256, 0, 1]) #显示网格线 pyplot.grid(True) #key正好就是灰度 keys = histogram.keys() #value是灰度的像素数量,这里是归一化之后的 values = histogram.values() #这里正式绘制直方图 ...

    def calHistogram(img):

    if(len(img.shape) != 2):

    print("img size error")

    return None

    histogram = {}

    for i1 in range(img.shape[0]):

    for i2 in range(img.shape[1]):

    if histogram.get(img[i1][i2]) is None:

    histogram[img[i1][i2]] = 0

    histogram[img[i1][i2]] += 1

    #cal max value

    maxValue = 0.0

    maxKey = -1

    for key in histogram:

    if histogram[key] > maxValue:

    maxValue = histogram[key]

    maxKey = key

    print(maxValue)

    print(maxKey)

    # normalize

    for key in histogram:

    histogram[key] = float(histogram[key]) / maxValue

    return histogram

    def drawHistoGram(histogram):

    pyplot.figure()

    #设置x轴的最小值,最大值。y轴的最小值,最大值

    pyplot.axis([0, 256, 0, 1])

    #显示网格线

    pyplot.grid(True)

    #key正好就是灰度

    keys = histogram.keys()

    #value是灰度的像素数量,这里是归一化之后的

    values = histogram.values()

    #这里正式绘制直方图

    pyplot.bar(tuple(keys), tuple(values))

    pyplot.show()

    def testHistogram():

    test = cv.imread("test2.jpg")

    histogram = calHistogram(test)

    drawHistoGram(histogram)

    cv.imshow("test",test)

    cv.waitKey(0)

    testHistogram()

    展开全文
  • 图像的灰度直方图(histogram),就是将图像转化成灰度图像之后,统计各个像素点的灰度值,绘制成直方图,其横轴是灰度值(0,255),纵轴是该灰度值所对应的像素的数目。对灰度直方图做积分=图像的size。 使用...

    什么是灰度直方图?

    图像直方图(histogram)是图像的统计学特征,常用于了解图像的基本特征以便分析。不过图像的直方图不具有空间特征。

    图像的灰度直方图(histogram),就是将图像转化成灰度图像之后,统计各个像素点的灰度值,绘制成直方图,其横轴是灰度值(0,255),纵轴是该灰度值所对应的像素的数目。对灰度直方图做积分=图像的size。

    使用pyplot绘制灰度直方图

    原图:
    在这里插入图片描述

    # -*- coding: utf-8 -*-
    """
    @File    : 191214_使用pyplot绘制灰图直方图.py
    @Time    : 2019/12/14 16:08
    @Author  : Dontla
    @Email   : sxana@qq.com
    @Software: PyCharm
    """
    from matplotlib import pyplot as plt
    import cv2
    import numpy as np
    
    # 【读取图像】
    img = cv2.imread('feiji.jpg')
    # 【转换成灰度图】
    img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    
    
    # print(img.shape)    # (300, 520)
    
    
    # print(type(img))    # <class 'numpy.ndarray'>
    
    
    def plt_hist(img):
        # 【将图像像素数据平铺】
        print(img.ravel().shape)
        # 【绘制直方图】
        plt.hist(img.ravel(), 256, [0, 256])
        plt.show()
    
    
    if __name__ == '__main__':
        plt_hist(img)
    

    结果:
    在这里插入图片描述
    注意:
    在这里插入图片描述

    参考文章:python+opencv 灰度直方图及其二值化

    参考文章:为什么具有前景背景的图像其灰度直方图通常具有双峰性?

    展开全文
  • opencv绘制灰度直方图

    2019-02-17 15:49:46
    opencv绘制灰度直方图
                   

    代码之一

    #include <cv.h>#include <highgui.h>#pragma comment( lib, "cv.lib" )#pragma comment( lib, "cxcore.lib" )#pragma comment( lib, "highgui.lib" )int main(){         IplImage* src=cvLoadImage("lena.jpg",0);         int width=src->width;         int height=src->height;         int step=src->widthStep;         uchar* data=(uchar *)src->imageData;         int hist[256]={0};         for(int i=0;i<height;i++)         {                   for(int j=0;j<width;j++)                   {                            hist[data[i*step+j]]++;                   }         }         int max=0;         for(i=0;i<256;i++)         {                   if(hist[i]>max)                   {                            max=hist[i];                   }         }         IplImage* dst=cvCreateImage(cvSize(400,300),8,3);         cvSet(dst,cvScalarAll(255),0);         double bin_width=(double)dst->width/256;         double bin_unith=(double)dst->height/max;         for(i=0;i<256;i++)         {                   CvPoint p0=cvPoint(i*bin_width,dst->height);                   CvPoint p1=cvPoint((i+1)*bin_width,dst->height-hist[i]*bin_unith);                   cvRectangle(dst,p0,p1,cvScalar(0,255),-1,8,0);         }         cvNamedWindow("src",1);         cvShowImage("src",src);         cvNamedWindow("dst",1);         cvShowImage("dst",dst);         cvWaitKey(0);         cvDestroyAllWindows();         cvReleaseImage(&src);         cvReleaseImage(&dst);         return 0;}


    代码之二
    #include <cv.h>#include <highgui.h>#pragma comment( lib, "cv.lib" )#pragma comment( lib, "cxcore.lib" )#pragma comment( lib, "highgui.lib" )int main(){         IplImage* src=cvLoadImage("lena.jpg",0);         int size=256;         float range[]={0,255};         float* ranges[]={range};         CvHistogram* hist=cvCreateHist(1,&size,CV_HIST_ARRAY,ranges,1);         cvCalcHist(&src,hist,0,NULL);         float max=0;         cvGetMinMaxHistValue(hist,NULL,&max,NULL,NULL);         IplImage* dst=cvCreateImage(cvSize(400,300),8,3);         cvSet(dst,cvScalarAll(255),0);         double bin_width=(double)dst->width/size;         double bin_unith=(double)dst->height/max;         for(int i=0;i<size;i++)         {                   CvPoint p0=cvPoint(i*bin_width,dst->height);                   CvPoint p1=cvPoint((i+1)*bin_width,dst->height-cvGetReal1D(hist->bins,i)*bin_unith);                   cvRectangle(dst,p0,p1,cvScalar(0,255),-1,8,0);         }         cvNamedWindow("src",1);         cvShowImage("src",src);         cvNamedWindow("dst",1);         cvShowImage("dst",dst);         cvWaitKey(0);         cvDestroyAllWindows();         cvReleaseImage(&src);         cvReleaseImage(&dst);         return 0;}


               

    再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

    展开全文
  • 灰度直方图在数据统计分析、图像处理中有着比较广泛的应用,下面就介绍一下如何在Python中使用matplotlib来绘制灰度直方图。下面直接看代码:import matplotlib.pyplot as pltimport numpy as nprandom_state = np....

    灰度直方图在数据统计分析、图像处理中有着比较广泛的应用,下面就介绍一下如何在Python中使用matplotlib来绘制灰度直方图。

    下面直接看代码:

    import matplotlib.pyplot as plt

    import numpy as np

    random_state = np.random.RandomState(19680801)

    X = random_state.randn(10000)

    fig, ax = plt.subplots()

    ax.hist(X, bins=25, normed=True, color = 'yellow')

    x = np.linspace(-5, 5, 1000)

    ax.plot(x, 1 / np.sqrt(2*np.pi) * np.exp(-(x**2)/2), linewidth=4)

    plt.show()

    代码解读:

    首先是使用random类生成数目为10000的伪随机数,接着使用pyplot模块中的subplots接口创建一个绘制对象,使用hist()成员函数开始绘制灰度直方图,第一个参数是随机数序列,bins指定直方的个数,normed指定是否进行归一化,而color指定直方图的颜色。

    出现警告提示:

    /home/linuxidc/.local/lib/python3.6/site-packages/matplotlib/axes/_axes.py:6521: MatplotlibDeprecationWarning:

    The 'normed' kwarg was deprecated in Matplotlib 2.1 and will be removed in 3.1. Use 'density' instead.

    alternative="'density'", removal="3.1")

    意思就是把:normed 换成 density 即可解决问题

    下面绘制的一个高斯函数曲线是为了证明这个伪随机序列是符合高斯正态分布的。

    绘制结果如下:

    更多Python相关信息见Python专题页面https://www.linuxidc.com/topicnews.aspx?tid=17

    展开全文
  • 利用opencv绘制 灰度直方图 RGB直方图 HSV直方图 直方图均衡化 灰度直方图介绍: http://hi.baidu.com/wen_sift/blog/item/83fd56ca3e6b1b36b600c887.html 灰度直方图均衡化: ...
  • c#语言编写的图片的读取,灰度直方图绘制,均衡化灰度直方图.
  • 图像处理篇-利用matlab绘制灰度直方图

    万次阅读 多人点赞 2019-04-21 16:11:40
    利用matlab绘制灰度直方图 figure; I=imread('G:\matlab\img\1.jpg'); subplot(1,2,1);imshow(I); title('原始图像'); imwrite(I,'test.png'); subplot(1,2,2); imhist(y); title('灰度图像直方图'); ...
  • opencv 绘制灰度直方图

    2015-11-02 15:18:50
    //绘制灰度直方图 int main( ) { Mat src,gray; src=imread(“baboon.jpg”); cvtColor(src,gray,CV_RGB2GRAY); int bins = 256; int hist_size[] = {bins}; float range[] = { 0, 256 };
  • Python计算并绘制灰度直方图

    千次阅读 2019-11-09 19:56:11
    灰度直方图 灰度直方图是关于灰度级分布的函数,将数字图像中的所有像素,按照灰度值的大小,统计其出现的频率。其中,横坐标是灰度级,纵坐标是该灰度级出现的频率。 如果将图像总像素亮度(灰度级别)看成是一个...
  • 灰度直方图是关于灰度级分布的函数,是对图像中灰度级分布的统计。...Matlab有两个绘制灰度直方图的函数,分别是imhist和histogram 如果直接绘制图像的灰度直方图 A=imread('1.jpg'); subplot(2,2,1);
  • 灰度直方图在数据统计分析、图像处理中有着比较广泛的应用,下面就介绍一下如何使用python来绘制灰度直方图
  • matlab绘制灰度直方图

    2016-12-11 15:15:02
    大神帮忙看看这个程序 输入一张灰度图 为什么执行到计算灰度直方图处就出错 filename='C:\Users\zaj\Desktop\QQ图片20161211145443.jpg'; %文件路径 imfinfo(filename) %显示图片信息 img=imread(filename); %...
  • 绘制灰度直方图.黑白化.平滑.锐化 C#
  • MFC对话框绘制灰度直方图

    千次阅读 2018-07-23 16:58:43
    本文主要讲述基于VC++6.0 MFC图像处理的应用知识,主要结合自己大三所学课程《数字图像处理》及课件进行回忆讲解,主要通过MFC单文档视图实现点击弹出对话框绘制BMP图片的灰度直方图,再获取平均灰度、中指灰度和...
  • 女性时尚流行美容健康娱乐mv-ida网 mvida时尚娱乐网 首页 美容 护肤 化妆技巧 发型 服饰 健康 情感 美体 美食 娱乐 明星八卦 首页 > 高级搜索 python opencv处理 图像 之 图像 直方图...
  • python 计算并绘制灰度直方图

    千次阅读 2017-12-12 16:21:50
    灰度直方图为: 其灰度直方图为: 代码如下: def calHistogram(img): if(len(img.shape) != 2): print(&quot;img size error&quot;) return None histogram = {} for i1 in range(img.shape[0]): ...
  • 展开全部#!usr/bin/env python# -*- coding: utf-8 -*-import Imageimport ImageDrawdef showHist(im, w=512, h=512):hist = im.convert('L').histogram()hist = map(lambda i : h - h * i / max(hist), hist) # ...
  • 我将图像加载到numpy数组中,并希望在直方图绘制其颜色值.import numpy as npfrom skimage import iofrom skimage import colorimg = io.imread('img.jpg')img = color.rgb2gray(img)unq = np.unique(img)unq = np....
  • 本篇文章主要介绍了python OpenCV学习笔记之绘制直方图的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧直方图会让你对图像的强度分布有一个全面的认识。它是一个在x轴上带有...
  • 绘制灰度直方图(OpenCV + Java)

    千次阅读 2017-06-20 15:59:49
    本文介绍一下如何使用Java语言绘制灰度图的直方图。由于Java环境下OpenCV不提供Mat图像的显示...灰度直方图是灰度级的函数,描述图像中该灰度级的像素个数(或该灰度级像素出现的频率):其横坐标是灰度级,纵坐标表
  • 要寄了!有没有吼米能用python做一个GUI界面实现图像处理(绘制灰度直方图,直方图均衡化,灰度反转,对数变换,图像加噪,空间频域去噪)

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,947
精华内容 2,778
关键字:

如何绘制灰度直方图