vs2015+opencv3.3.1 实现 直方图均衡化
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vs2015+opencv3.3.1 实现 直方图均衡化相关的知识,希望对你有一定的参考价值。
#include <opencv2\highgui\highgui.hpp> #include <iostream> #include<vector> using namespace cv; using namespace std; double gray[256]; int main(){ Mat img = imread("123.jpg", 0); // namedWindow("MyWindow"); // imshow("MyWindow", img); std::vector<uchar> array(img.rows*img.cols); if (img.isContinuous()) {array.assign(img.datastart, img.dataend);} cout << array.size(); for (int i = 0; i < img.rows*img.cols; i++)++gray[(int)array[i]]; for (int i = 0; i < 256; i++) { gray[i] /= (img.rows*img.cols); gray[i] = int(255 * gray[i]+0.5); if (i > 0)gray[i] = (gray[i] + gray[i - 1]); } for (int i = 0; i < img.rows*img.cols; i++)array[i] = gray[array[i]]; Mat now((int)img.rows,(int)img.cols, 0); for (int i = 0; i < img.rows; i++) for (int j = 0; j < img.cols; j++) now.at<uchar>(i, j) = array[i*img.cols+j]; // namedWindow("MyWindow1"); // imshow("MyWindow1", now); // waitKey(0); imwrite("1123.jpg", now); system("pause"); return 0; }
以上是关于vs2015+opencv3.3.1 实现 直方图均衡化的主要内容,如果未能解决你的问题,请参考以下文章
vs2015+opencv3.3.1 实现 彩色高斯滤波器 包括边缘处理
OpenCV 3:openCV 3.3.1 中的透视变换有啥问题?
HYF-Linux8 环境配置躺坑记录 cuda8 cudnn6 virtualenv tensorflow opencv3.3.1