opencv学习笔记第四章 图像的均值化
2017-10-01 10:22
411 查看
图像在视觉上的缺陷在多数情况下不是像素强度范围过窄,而是因为像素强度频率分布不均。
一副高质量的图片应该平均使用所有的像素强度。
void equalizeHist( InputArray src, OutputArray dst );
#include <stdio.h>
#include <iostream>
#include "opencv2/opencv.hpp"
#include "histogram.h"
using namespace std;
using namespace cv;
int main()
{
Histogram1D h;
Mat image;
image = imread("D:/1.jpg", 0);
namedWindow("image");
imshow("image", image);
/*
MatND histo = h.getHistogram(image);
for (int i = 0; i < 256;i++)
//cout << "Value" << i << "=" << hist.at<float>(i) << endl;
*/
namedWindow("Histogram");
imshow("Histogram", h.getHistogramImage(image));
/********************************************************
二值化
********************************************************/
Mat thresholded, result;
//threshold(image, thresholded, 60, 255, THRESH_BINARY);
//namedWindow("thresholded");
//imshow("thresholded", thresholded);
equalizeHist(image, result);
namedWindow("equalized image");
imshow("equalized image", result);
namedWindow("equalizedHistogram");
imshow("equalizedHistogram", h.getHistogramImage(result));
waitKey(0);
}
一副高质量的图片应该平均使用所有的像素强度。
void equalizeHist( InputArray src, OutputArray dst );
#include <stdio.h>
#include <iostream>
#include "opencv2/opencv.hpp"
#include "histogram.h"
using namespace std;
using namespace cv;
int main()
{
Histogram1D h;
Mat image;
image = imread("D:/1.jpg", 0);
namedWindow("image");
imshow("image", image);
/*
MatND histo = h.getHistogram(image);
for (int i = 0; i < 256;i++)
//cout << "Value" << i << "=" << hist.at<float>(i) << endl;
*/
namedWindow("Histogram");
imshow("Histogram", h.getHistogramImage(image));
/********************************************************
二值化
********************************************************/
Mat thresholded, result;
//threshold(image, thresholded, 60, 255, THRESH_BINARY);
//namedWindow("thresholded");
//imshow("thresholded", thresholded);
equalizeHist(image, result);
namedWindow("equalized image");
imshow("equalized image", result);
namedWindow("equalizedHistogram");
imshow("equalizedHistogram", h.getHistogramImage(result));
waitKey(0);
}
相关文章推荐
- 图像处理opencv直方图均值化-学习笔记2
- 我的OpenCV学习笔记(四):给图像加上水印效果
- OpenCV学习笔记(8)VS2008 MFC下使用OpenCV2.0进行简单图像处理
- opencv学习笔记12 图像轮廓的提取和绘制
- OpenCV学习笔记_图像平滑
- opencv学习笔记-图像对比度、亮度调节
- OpenCV学习笔记——使用OpenCV访问图像数据
- 【OpenCV学习笔记】十一、基本图像运算
- opencv简单的彩色图像灰度化和二值化(学习笔记)
- OpenCV 学习笔记(1)安装设置、显示图像
- 【OpenCV学习笔记】2:开启摄像头和对捕获到的图像的处理
- 基础学习笔记之opencv(9):Mat图像扫描
- opencv学习笔记(八)IplImage* 访问图像像素的值
- opencv学习笔记-3,图像混合
- OpenCV学习笔记(16)双目测距与三维重建的OpenCV实现问题集锦(一)图像获取与单目定标
- OpenCv学习笔记(二)--Mat矩阵(图像容器)的创建及CV_8UC1,CV_8UC2等参数详解
- OpenCV学习笔记(7)图像的通道(channels)问题
- 【OpenCV学习笔记 003】图像的载入、显示和输出
- Opencv学习笔记(四)--图像处理平滑,锐化操作
- OpenCV学习笔记(18):在OpenCV中利用鼠标绘制矩形和截取图像的矩形区域