三色和单色是一致的:程序的写法在下一个CSDN
不仅仅是RGB还有HSV图像都会有比较重要的画法:色调,饱和度,亮度
绘制三色直方图还是三种向量的直方图都会有意义:
1.参数准备:
int bins=256;每一个分量都是256的
int hist_size[]={bins};
float range[]={0,256};
const float* ranges[]={range};
MatND redHist,greenHist,blueHist;
int channels_r[]={2};
int channels_g[]={1};
int channels_b[]={0};
calcHist(&rgb图像,1,channel_r,Mat(),redHist,1,hist_size,ranges,true,false);得到红色分量的直方图
calcHist(&rgb图像,1,channel_g,Mat(),greenHist,1,hist_size,ranges,true,false);得到绿色分量的直方图
calcHist(&rgb图像,1,channel_b,Mat(),blueHist,1,hist_size,ranges,true,false); 得到蓝色分量的直方图
//得到各个分量的直方图
2.获取各个直方图中的最大值和最小值
double max_Value_red,max_Value_green,max_Value_blue;
minMaxLoc(redHist,0,&max_Value_red,0,0);
minMaxLoc(blueHist,0,&max_Value_blue,0,0);
minMaxLoc(greenHist,0,&max_Value_green,0,0); //得到三个分量的最大值,也就是点数最多的像素点

3.绘制三个分量的直方图
定义要显示的直方图:
Mat histImg=Mat::zeros(256,2563,CV_8UC3);把三个分量的直方图绘制在一个图片上面
for(int i=0;i<bins;i++)
{
获取各个分量的实际的数值
float binValue_red=redHist.at(i);
float binValue_green=greenHist.at(i);
float binValue_blue=blueHist.at(i);
要绘制的高度,对于每一个分量来说的
int intensty_red=cvRound(binValue_red
256/max_Value_red);红色分量要绘制的高度
int intensity_green=cvRound(binValue_green256/max_Value_green);绿色分量的高度
int intensity_blue=cvRound(binValue_blue
256/max_Value_blue);蓝色分量对应的高度
用矩形进行绘制
红色分量的绘制
rectangle(histImg,Point(i,255),Point(i,256-intensity_red),Scalar(0,0,255));
rectangle(histImg,Point((i+256,255),Point(i+256,256-intensity_green),Scalar(0,255,0));
rectangle(histImg,Point(i+2256,255),Point(i+2256,256-intensity_blue),Scalar(255,0,0));
}
这就进行绘制完毕了
4.最后一步了:显示绘制好的三色直方图

rgb三色直方图的绘制相关推荐

  1. 【Opencv入门】RGB三通道直方图的计算与绘制

    文章目录 一. 直方图概述 Overview of histogram 二.直方图的建立 Establishment of histogram 三.直方图的作用 The function of his ...

  2. 智能wifi小车-RGB三色LED灯驱动

    RGB三色LED灯简介 RGB指的就是三基色光,R=红色,G=绿色,B=蓝色.LED芯片所发出的光一般都是蓝光,都是要通过红 绿 蓝这三种颜色的荧光粉去调颜色的.RGB色彩模式是工业界的一种颜色标准, ...

  3. RGB三色查询对照表

    给大家推荐一个 RGB三色查询对照表  可以根据代码选颜色,也可以根据颜色找代码.很不错哦 http://www.ydyrx.com/rgb.html

  4. photoshop中RGB三色原理及颜色相加相减

    From: http://blog1.poco.cn/myBlogDetail-htx-id-5921820-userid-55622677-pri--n-0.xhtml 一.RGB三色原理 在中学的 ...

  5. Arduino UNO R3开发板+MQ-2烟雾浓度传感器+火焰传感器+舵机+无源蜂鸣器+风扇+步进电机+WIFI模块+RGB三色LED灯+SIM900A所构成的室内安全报警模块

    该系统模块主要由Arduino UNO R3开发板+MQ-2烟雾浓度传感器+火焰传感器+舵机+无源蜂鸣器+风扇+步进电机+WIFI模块+RGB三色LED灯+SIM900A所组成,MQ-2烟雾浓度传感器 ...

  6. matlab绘制三维散点图,RGB三色对应xyz轴

    一.代码 a=xlsread('C:\Users\hasee\Desktop\纺院 - 副本\江南 OK.xlsx','sheet1'); x1=a(:,7); y1=a(:,8); z1=a(:,9 ...

  7. rgb三色涂色问题--c++

    有排成一行的n个方格,用红(Red).粉(Pink).绿(Green)三色涂每个格子,每格涂一色,要求任何相邻的方格不能同色,且首尾两格也不同色.求全部的满足要求的涂法. #include <i ...

  8. RGB图像灰度直方图的绘制

    一.描述 一幅图像的整个直方图我们一般不难画,本篇分享一下三通道分开的灰度直方图,包含三个分开的和三个画在一起的. 二.代码编写 三通道灰度直方图绘制代码(含解释)Opencv中的cv2.calcHi ...

  9. Arduino控制RGB三色LED灯实验、程序代码、连线图、仿真

    目录 RGB三色灯简介 PWM控制 PWM功能简介 硬件电路连接 所需器件 控制代码 测试结果 RGB三色灯简介 RGB色彩模式包含红绿蓝三种,通过控制红(R).绿(B).蓝(G)三种颜色的变化使其相 ...

最新文章

  1. python三方库 importlib导入API用法 相对导入 绝对导入
  2. 输入/输出延迟单元( IODELAY)简介
  3. NFV — 安全策略
  4. ubuntu vi 按方向键出现很多字母是怎么回事?(没安装vim)
  5. 银行有没有可能把800元存款打成80万?如果发生该怎么办?
  6. 每日一题:leetcode90.子集贰
  7. php 自定义行间距,phpstorm 常见设置
  8. 外存中的对换区和文件区
  9. 单细胞转录组基本概念(一)
  10. 【Spring】Spring lazy-init:bean延迟初始化
  11. 幽灵java进程引起的: FATAL ERROR in native method
  12. ParNew垃圾回收器总结
  13. php adodb类库下载,PHP中 ADOdb 类库介绍(二)
  14. 你想要的英雄联盟人物模型素材,这里都能找到
  15. express 配置ip
  16. 在服务端录制语音视频
  17. 数据采集系统有哪几种采集方式?
  18. ResNet论文笔记及Pytorch代码解析
  19. 京东2018校招研发笔试题记录
  20. 多核程序设计 linux,多核程序设计Linux多线程编程.ppt

热门文章

  1. 关键路径中最早/迟发生时间
  2. 3DCAD图纸转2D(DXF)图纸通用解决方案文稿
  3. axure图表_最好用的数据可视化图表制作工具推荐
  4. 后台产品的数据可视化图表产品设计
  5. MySQL高可用系列之MHA(二)
  6. 全息与沙盘的融合,全息沙盘带来全新体验
  7. RDLC打印或导出Word的 分页设置 页边距和页面大小
  8. 新一代记事本“Notepad++”个性化设置备份
  9. repost 力出一孔,“感觉睡觉都是在浪费时间”--孙正义
  10. LNMP一键安装包 – 简单单单配置好linux服务器