灰度图像直方图均衡处理
来源:互联网 发布:linux gzip 解压zip 编辑:程序博客网 时间:2024/04/28 05:48
通过计算归一化直方图,设计算法实现直方图均衡化处理。
//二、灰度图直方图均衡#include "stdafx.h"#include <cvaux.h>#include <highgui.h>int _tmain_2(int argc, _TCHAR* argv[]){IplImage * src = cvLoadImage("1.jpg");cvNamedWindow("原图",1);cvShowImage("原图",src);IplImage* grayimage = cvCreateImage(cvGetSize(src),8,1);cvCvtColor(src,grayimage,CV_BGR2GRAY);cvNamedWindow("灰度图",1);cvShowImage("灰度图",grayimage);IplImage* equlimage = cvCreateImage(cvGetSize(src),8,1);cvCvtColor(src,equlimage,CV_BGR2GRAY);cvEqualizeHist(equlimage,equlimage);cvNamedWindow("灰度均衡",1);cvShowImage("灰度均衡",equlimage);int hist_size = 256; //直方图尺寸int hist_height = 256;float range[] = {0,255};//灰度级的范围float* ranges[] = {range};//创建一维直方图,统计图像在[0,255]像素的均匀分布CvHistogram* gray_hist = cvCreateHist(1,&hist_size,CV_HIST_ARRAY,ranges,1);CvHistogram* equl_hist = cvCreateHist(1,&hist_size,CV_HIST_ARRAY,ranges,1);//计算灰度图像的一维直方图cvCalcHist(&grayimage,gray_hist,0,0);cvCalcHist(&equlimage,equl_hist,0,0);//归一化直方图cvNormalizeHist(gray_hist,1.0);cvNormalizeHist(equl_hist,1.0);int scale = 1;//创建一张一维直方图的“图像”,横坐标为灰度级,纵坐标为像素个数(*scale)//图像位深度为8位整形,每个元素通道号为3IplImage* hist_image = cvCreateImage(cvSize(hist_size*scale*2,hist_height),8,3);//初始化,图像清零cvZero(hist_image);//统计直方图中的最大直方块float max_value = 0;float max_value2= 0;cvGetMinMaxHistValue(gray_hist,0,&max_value,0,0);cvGetMinMaxHistValue(equl_hist,0,&max_value2,0,0);//分别将每个直方块的值绘制到图中for(int i=0;i<hist_size;i++){float bin_val = cvQueryHistValue_1D(gray_hist,i);float bin_val2 = cvQueryHistValue_1D(equl_hist,i);int intensity = cvRound(bin_val*hist_height/max_value);int intensity2 = cvRound(bin_val2*hist_height/max_value2);cvRectangle(hist_image,cvPoint(i*scale,hist_height-1),cvPoint((i+1)*scale-1,hist_height-intensity),CV_RGB(255,255,255));cvRectangle(hist_image,cvPoint((i+hist_height)*scale,hist_height-1),cvPoint((i+hist_height+1)*scale-1,hist_height-intensity2),CV_RGB(255,255,255));}cvNamedWindow("归一化直方图",1);cvShowImage("归一化直方图",hist_image);cvWaitKey(0);return 0;}
0 0
- 灰度图像直方图均衡处理
- 图像处理opencv2-灰度直方图以及灰度直方图均衡化
- Python cv2 图像自适应灰度直方图均衡化处理
- 图像处理 灰度图像直方图
- 图像处理 灰度直方图变换
- Matlab图像处理转灰度图,绘制直方图,直方图均衡化
- Matlab图像处理转灰度图,绘制直方图,直方图均衡化
- 图像的灰度化,直方图均衡化
- [图像]图像灰度均衡化和灰度直方图(Matlab实现)
- 数字图像处理之--灰度直方图均衡化
- 彩色图像直方图均衡处理
- 图像处理------直方图均衡化
- 【图像处理笔记】直方图均衡
- 【图像处理笔记】直方图均衡
- 【图像处理】直方图均衡化
- 直方图均衡化---图像处理
- matlab灰度图像直方图均衡化,规定化,及彩色图像均衡化处理!
- Python与图像处理(2):灰度变换,直方图均衡化
- QML基本可视化元素--Text
- Python中dict详解
- 计算数组的长度
- Magento--给EAV模型新增非EAV属性
- 《编写可阅读代码的艺术》读书笔记(二)
- 灰度图像直方图均衡处理
- 94 添加hover方法 和show hide 方法
- Android 对象
- “adb不是内部或外部命令,也不是可运行的程序或批量文件。”
- JavaScript:Day two
- DJI与优酷土豆战略合作
- 彩色图像直方图均衡处理
- VMWare虚拟机识别USB设备
- 优秀Python学习资源收集汇总(强烈推荐)