直方图均衡化
来源:互联网 发布:js防水涂料报价 编辑:程序博客网 时间:2024/06/05 05:38
函数cvEqualizeHist()用来把灰度图形的直方图均衡化,由于经常要绘制图像的直方图,索性构造一个函数,下面的程序引自http://blog.sina.com.cn/s/blog_6e3c5ee30102vje2.html,在原文基础上添加了灰度图像的均衡化并显示效果。
#include "opencv2/core/core.hpp"
#include<cv.h>
#include<highgui.h>
using namespace cv;
using namespace std;
//用来绘制单通道图像的灰度图;
void histogram(char* winName, IplImage *img)
{
int size = 256;
float range[] = { 0, 255 };
float* ranges[] = { range };
CvHistogram* hist = cvCreateHist(1, &size, CV_HIST_ARRAY, ranges, 1);
cvCalcHist(&img, hist, 0, NULL);
float max = 0;
cvGetMinMaxHistValue(hist, NULL, &max, NULL, NULL);
IplImage* dst = cvCreateImage(cvSize(400, 300), 8, 3);
cvSet(dst, cvScalarAll(255), 0);
double bin_width = (double)dst->width / size;
double bin_unith = (double)dst->height / max;
for (int i = 0; i<size; i++)
{
CvPoint p0 = cvPoint(i*bin_width, dst->height);
CvPoint p1 = cvPoint((i + 1)*bin_width, dst->height - cvGetReal1D(hist->bins, i)*bin_unith);
cvRectangle(dst, p0, p1, cvScalar(0, 0,0), -1, 8, 0);
}
cvNamedWindow(winName, 1);
cvShowImage(winName, dst);
}
int main()
{
IplImage* src = cvLoadImage("photo.jpg", 0);//读取灰度形式
cvNamedWindow("src"); cvShowImage("src", src);
histogram("origion", src);//原图的直方图
IplImage *dst = cvCreateImage(cvGetSize(src), IPL_DEPTH_8U, src->nChannels);
cvEqualizeHist(src, dst);//均衡化以后的直方图
cvNamedWindow("dst"); cvShowImage("dst", dst);
histogram("equal", dst);
cvWaitKey(0);
return 0;
}
原图
均衡化以后效果
- 直方图均衡化、自适应直方图均衡化
- 直方图均衡化推导
- 直方图均衡化
- 直方图均衡化
- 直方图均衡化
- 直方图均衡化
- 灰度直方图均衡化
- 直方图均衡化
- 直方图均衡化
- 直方图均衡化
- matlab直方图均衡化
- 直方图均衡化
- opencv直方图均衡化
- 直方图均衡化原理
- 直方图均衡化
- 直方图均衡化
- 直方图的均衡化
- 直方图均衡化ZT
- BitnamiGitLab备份升级操作
- [leetCode]26. Remove Duplicates from Sorted Array
- Android大图片裁剪终极解决方案 原理分析(概念)
- div为100%宽度,获取div的宽高
- str_replace()详解
- 直方图均衡化
- 排序算法之希尔排序
- Portable Drones Jammer-All remote control type
- GitHub android-crop 图片裁剪
- Android onActivityResult获取返回值的用法
- 基于Spark的Hive编程中,“Error:(8, 37) java: 程序包org.apache.spark.sql.api.java不存在”的解决办法
- Java方法、变量命名规则
- jsp 输出word文件默认页面显示
- 如何解决intelij集成的git提交信息出现乱码的问题