计算图像R、G、B三色的直方图
来源:互联网 发布:mac os sierra下载失败 编辑:程序博客网 时间:2024/04/30 00:20
VS2010+Opencv2.4.6
#include "stdafx.h"#include "cv.h"#include "cxcore.h"#include "highgui.h"IplImage* DrawHistogram(CvHistogram *hist,int scaleX=1,int scaleY=1){float histMax=0;cvGetMinMaxHistValue(hist,0,&histMax,0);IplImage *imgHist=cvCreateImage(cvSize(256*scaleX,64*scaleY),IPL_DEPTH_8U,1);cvZero(imgHist);for (int i=0;i<255;i++){float histValue=cvQueryHistValue_1D(hist,i);float nextValue=cvQueryHistValue_1D(hist,i+1);CvPoint pt1=cvPoint(i*scaleX,64*scaleY);CvPoint pt2=cvPoint((i+1)*scaleX,64*scaleY);CvPoint pt3=cvPoint((i+1)*scaleX,(64-(int)((nextValue/histMax)*64)*scaleY));CvPoint pt4=cvPoint(i*scaleX,(int)((64-(histValue/histMax)*64)*scaleY));int numPts=5;CvPoint pts[5];pts[0]=pt1;pts[1]=pt2;pts[2]=pt3;pts[3]=pt4;pts[4]=pt1;cvFillConvexPoly(imgHist,pts,numPts,cvScalar(255));}return imgHist;}int main(int argc, char* argv[]){IplImage *img=cvLoadImage("F:\\1.jpg");if(img==NULL){printf("加载图像失败!\n");}cvNamedWindow("T");cvShowImage("T",img); cvWaitKey(0);int dims=1;int size=256;float range[]={0,255};float* ranges[]={range};CvHistogram *hist=cvCreateHist(dims,&size,CV_HIST_ARRAY,ranges,1);cvClearHist(hist);IplImage *blue_img=cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,1);IplImage *red_img=cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,1);IplImage *green_img=cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,1);cvSplit(img,blue_img,green_img,red_img,NULL); cvCalcHist(&blue_img,hist,0,0);IplImage *b_imgHist=DrawHistogram(hist);cvClearHist(hist); cvCalcHist(&green_img,hist,0,0);IplImage *g_imgHist=DrawHistogram(hist);cvClearHist(hist);cvCalcHist(&red_img,hist,0,0);IplImage *r_imgHist=DrawHistogram(hist);cvClearHist(hist);cvNamedWindow("B");cvNamedWindow("G");cvNamedWindow("R"); cvShowImage("B",b_imgHist);cvShowImage("G",g_imgHist);cvShowImage("R",r_imgHist);cvWaitKey(0);cvReleaseImage(&b_imgHist);cvReleaseImage(&g_imgHist);cvReleaseImage(&r_imgHist);cvReleaseImage(&img);cvDestroyWindow("B");cvDestroyWindow("G");cvDestroyWindow("R");cvDestroyWindow("T");return 0;}
0 0
- 计算图像R、G、B三色的直方图
- opencv-直方图计算R,G,B
- matlab实现将彩色图像(R,G,B)色分量的直方图匹配,并计算其相关性
- matlab实现将彩色图像(R,G,B)色分量的直方图匹配,并计算其相关性
- matlab实现将彩色图像(R,G,B)色分量的直方图匹配,并计算其相关性
- 笔记:OpenCV 读取摄像头并显示图像的R、G、B三个通道的直方图
- OpenCV 读取摄像头并显示图像的R、G、B三个通道的直方图
- matlab实现将彩色图像(R,G,B)色分量的直方图显示出
- emgu cv 图像三色的直方图
- OpenCV绘制直方图,B G R三通道的
- 图像的像素处理1(R,G,B变换)
- 用鼠标点击图像,获取图像上某一点的(b,g,r)值
- 颜色(color)转换为三色值(r/g/b)(干货分享)
- 计算彩色的BGR图像的直方图
- 图像直方图的反向投影的计算
- 计算灰度图像的归一化直方图
- OpenCV【4】---calcHist 计算图像的直方图
- OpenCV 学习(计算图像的直方图)
- SPOJ 417 The lazy programmer(贪心)
- Java不定参数Object… obj 和 Object[] 的区别
- java对象的强引用,软引用,弱引用和虚引用
- JSCH 使用代理方式(HTTP或SOCKET)通过SFTP上传或下载文件
- OpenCV
- 计算图像R、G、B三色的直方图
- curl_easy_setopt函数介绍
- Mac下svn command命令
- hash表的 构造方法 和 解决冲突的方法
- 关于urllib2.open的正确使用方式
- OpenvSwitch中端口的抽象层次结构
- dd命令的解释
- 关于RS232,RS485
- QT 之QDialog