直方图均衡化
2010-08-25 07:32
127 查看
#include "highgui.h" #include "cv.h" #include <iostream> #include <iomanip> using namespace std; #define HDIM 256 //直方图的维数 int main() { IplImage* src = cvLoadImage("lena.jpg",0); IplImage* dst = NULL; CvHistogram* hist =0; int n = HDIM; double nn[HDIM]; uchar T[HDIM]; CvMat *T_mat; int x; int sum;//图像中像素总和 double val = 0; cvNamedWindow("source",1); cvNamedWindow("result",1); //计算直方图 hist = cvCreateHist(1,&n,CV_HIST_ARRAY,0,1); cvCalcHist(&src,hist,0,0); val = 0; for (x=0;x<n;x++) { val = val + cvGetReal1D(hist->bins,x); nn[x] = val; } //归一化直方图 sum = src->height*src->width; for (x=0;x<n;x++) { T[x] = (uchar)(255*nn[x]/sum); } dst = cvCloneImage(src); T_mat = cvCreateMatHeader(1,256,CV_8UC1); cvSetData(T_mat,T,0); //直接调用内部函数完成look-up-table的过程 cvLUT(src,dst,T_mat); cvShowImage("source",src); cvShowImage("result",dst); cvWaitKey(0); cvReleaseImage(&src); cvReleaseImage(&dst); cvDestroyAllWindows(); }
相关文章推荐
- 数字图像的直方图均衡化(C/C++源代码)
- 直方图均衡化的matlab实现
- 直方图均衡化
- 直方图均衡化(色调均化)(一)
- opencv-直方图均衡化
- 图像直方图均衡化和直方图匹配的理解
- 直方图均衡化(python实现)
- Python OpenCV -- 直方图均衡化(十三)
- 直方图均衡化
- 直方图均衡化(cvEqualizeHist)
- 基于matlab的直方图均衡化代码
- 直方图均衡化
- 图像增强对比度的方法——直方图均衡化
- 直方图均衡化
- 趣谈直方图均衡化和规定化
- 关于图像对比度【3】——直方图均衡化的改进
- cvEqualizeHist() 直方图均衡化(多通道彩图)
- Matlab图像处理转灰度图,绘制直方图,直方图均衡化
- 直方图均衡化
- 直方图均衡化原理