博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
5-2 彩色图片直方图
阅读量:4315 次
发布时间:2019-06-06

本文共 1500 字,大约阅读时间需要 5 分钟。

我们先通过opencv API调用的方式来实现这个功能。

RGB三种颜色通道它的直方图已经为大家绘制出来了。这就是彩色图片的直方图绘制。

import cv2import numpy as npdef ImageHist(image,type):    color = (255,255,255)    windowName = 'Gray'    if type == 31:        color = (255,0,0)        windowName = 'B Hist'    elif type == 32:        color = (0,255,0)        windowName = 'G Hist'    elif type == 33:        color = (0,0,255)        windowName = 'R Hist'    #这个方法是用来计算图片的直方图 1 image 图片的数据 2 [0] 用于计算直方图的通道 灰度直方图 所以就用第一个通道    #3 mask 模板 4 直方图的size 表明直方图分成多少份或者是有多少个柱状 总共256种灰度值 5 表明直方图中各个像素的值 0-255 所有的像素都遍历一次    #灰度值只能是0-255这个范围内         hist = cv2.calcHist([image],[0],None,[256],[0.0,255.0])    minV,maxV,minL,maxL = cv2.minMaxLoc(hist)#最小值,最大值,最小值的下标,最大值的下标    # 创建一个画布 三维画布    histImg = np.zeros([256,256,3],np.uint8)# (r,g,b) 3 rgb三个颜色 矩阵数据     # for循环 依次把这个画布给它画一下    for h in range(256): #表明总共有0-255这么多点        intenNormal = int(hist[h]*256/maxV)#规划数据,因为我们的值很大,所以我们要把它规划一下 hist[h]获取每一个直方图的数据         # hist[h]*256/maxV,这样经过计算完之后它的值就会归一到0-256之间        cv2.line(histImg,(h,256),(h,256-intenNormal),color)# histImg矩阵数据 整个循环的下标 整个图片的范围是0-256之间 256减去当前的规划之后的值    cv2.imshow(windowName,histImg)    return histImgimg = cv2.imread('image0.jpg',1)#读取的是彩色图片channels = cv2.split(img)#获取每一个通道 channels 获取当前的通道 通过split的方法完成图像的分解 RGB - R G B 三个颜色通道for i in range(0,3):#for循环遍历每个颜色通道    ImageHist(channels[i],31+i)cv2.waitKey(0)

在绘制的时候我们为了把坐标归一化, 必须要求出当前整个hist中所有数据所有像素它的最大值最小值以及它们各自的下标,并且把它进行归一化处理。处理完之后然后再将结果进行绘制。

转载于:https://www.cnblogs.com/ZHONGZHENHUA/p/9733506.html

你可能感兴趣的文章
(转)最大子序列和问题 看着貌似不错
查看>>
thinkphp3.2 链接数据库测试
查看>>
项目的上线流程是怎样的?
查看>>
Linux通配符
查看>>
ES6 Iterator
查看>>
Apache2.4开启GZIP功能
查看>>
远程桌面关闭重启电脑的方法
查看>>
第三章 熟悉常用的HDFS操作
查看>>
filter:expression(document.execCommand("BackgroundImageCache",false,true) 转
查看>>
Java - 30 Java 网络编程
查看>>
shiro中的filterChainDefinitions
查看>>
瑞柏匡丞教你如何和程序员一起愉快的玩耍
查看>>
【单调队列】Vijos P1771 瑞士轮 (NOIP2011普及组第三题)
查看>>
【模拟】NEERC15 E Easy Problemset (2015-2016 ACM-ICPC)(Codeforces GYM 100851)
查看>>
JavaBean and PreparedStatement Usage
查看>>
经典冒泡排序
查看>>
HDU1312:Red and Black(DFS)
查看>>
es6 async与await实战
查看>>
北京行——xml解析之SAX
查看>>
Oracle_创建和管理表
查看>>