opencv——灰度直方图
来源:互联网 发布:算命 知乎 编辑:程序博客网 时间:2024/05/19 19:57
#include <opencv2/opencv.hpp>#include <stdio.h>// HIstogram.cpp : 定义控制台应用程序的入口点。 // #define cvQueryHistValue_1D( hist, idx0 ) ((float)cvGetReal1D( (hist)->bins, (idx0))) int main() { IplImage* src= cvLoadImage("C:\\Users\\wxh\\Documents\\Visual Studio 2010\\Projects\\9.24\\9.24\\1.jpg"); IplImage* gray_dst= cvCreateImage(cvGetSize(src), 8, 1); cvCvtColor(src, gray_dst, CV_BGR2GRAY); //一维维数 int dims= 1; //直方图的尺寸 int size= 256; //直方图的高度 int height = 256; //灰度图的范围0到255 float range[]= {0, 256}; float *ranges[]= {range}; //创建一维直方图 CvHistogram* hist; hist= cvCreateHist(dims, &size, CV_HIST_ARRAY, ranges, 1); //计算灰度图的一维直方图 cvCalcHist(&gray_dst, hist, 0, 0); //归一化直方图 cvNormalizeHist(hist, 1.0); int scale= 2; //创建图像,用于显示直方图 IplImage* hist_img= cvCreateImage(cvSize(size* scale, height), 8, 3); //图像置零 cvZero(hist_img); //计算直方图的最大方块值,初始化为0 float max_value= 0; cvGetMinMaxHistValue(hist, 0, &max_value, 0, 0); //绘制直方图 for(int i=0; i<size; i++) { float bin_val= cvQueryHistValue_1D(hist,i); //像素i的概率 int intensity = cvRound(bin_val* height/ max_value); // 绘制的高度 cvRectangle(hist_img, cvPoint(i* scale, height- 1), cvPoint((i+1)* scale- 1, height- intensity), CV_RGB(255, 255, 255)); } cvNamedWindow("gray"); cvShowImage("gray", gray_dst); cvNamedWindow("Histogram"); cvShowImage("Histogram", hist_img); cvWaitKey(0); cvReleaseImage(&src); cvReleaseImage(&gray_dst); cvReleaseImage(&hist_img); cvDestroyWindow("gray"); cvDestroyWindow("Histogram"); return 0; }
0 0
- opencv——灰度直方图
- opencv——灰度直方图的绘制
- OpenCV 图像增强—直方图均衡化和灰度拉伸
- opencv绘制灰度直方图
- 【OpenCV】数字图像灰度直方图
- opencv 灰度直方图
- opencv绘制灰度直方图
- OpenCV 灰度直方图
- 【OpenCV】数字图像灰度直方图
- 【OpenCV】数字图像灰度直方图
- OpenCV数字图像灰度直方图
- 【OpenCV】数字图像灰度直方图
- 【OpenCV】数字图像灰度直方图
- 【OpenCV】数字图像灰度直方图
- OpenCV--数字图像灰度直方图
- 【OpenCV】数字图像灰度直方图
- 【OpenCV】数字图像灰度直方图
- 【OpenCV】数字图像灰度直方图
- C++四种强制类型转换
- DNS安全浅议、域名A记录(ANAME),MX记录,CNAME记录
- 指针和数组在函数中的传递实例
- cloudfoundry servicce-broker部署错误分析
- 实现内存复制函数
- opencv——灰度直方图
- Java IO机制
- linux下创建和删除软、硬链接
- crf
- 从set/map谈到hashtable/hash_map/hash_set
- 内存碎片
- 支持并发的结果缓存
- 用sed -i修改文件,去掉 “行首” 带“@”的首字母@
- 《ODAY安全:软件漏洞分析技术》学习心得-----shellcode的一点小小的思考