资源简介
数字图像处理基本处理之一:空域增强。
一、图象灰度变换;
二、图象平滑;
三、图象锐化;
代码片段和文件信息
#include
#include “opencv2/core/core.hpp“
#include “opencv2/highgui/highgui.hpp“
#include “opencv2/imgproc/imgproc.hpp“
#include
#include
using namespace cv;
using namespace std;
// 得到图像的直方图
MatND getHistogram(Mat &image)
{
MatND hist;
int channels[] = { 0 };
int dims = 1;
int histSize[] = { 256 };
float granges[] = { 0 255 };
const float *ranges[] = { granges };
calcHist(&image 1 channels Mat() hist dims histSize ranges);
return hist;
}
//-------------------- -
//作者:Jasen_Fu
//来源:CSDN
//原文:https ://blog.csdn.net/piaoxuezhong/article/details/54588270
//版权声明:本文为博主原创文章,转载请附上博文链接!
// 将图像直方图展示出来
Mat getHistogramImage(Mat &image)
{
MatND hist = getHistogram(image);
Mat showImage(256 256 CV_8U Scalar(0));
int i;
double maxValue = 0;
minMaxLoc(hist 0 &maxValue 0 0);
for (i = 0; i < 256; i++)
{
float value = hist.at(i);
int intensity = saturate_cast(256 - 256 * (value / maxValue));
rectangle(showImage Point(i 256 - 1) Point((i + 1) - 1 intensity) Scalar(255));
}
return showImage;
}
//-------------------- -
//作者:Jasen_Fu
//来源:CSDN
//原文:https ://blog.csdn.net/piaoxuezhong/article/details/54588270
//版权声明:本文为博主原创文章,转载请附上博文链接!
//得到直方图均衡函数
Mat getHistogram_Equalization(Mat &image)
{
Mat grayImg;
cvtColor(image grayImg CV_RGB2GRAY);//将rgb图像转化为灰度图
int rowNumber = grayImg.rows;//得到行
int colNumber = grayImg.cols;//得到列
int sumNumber = rowNumber * colNumber;//得到图像整个像素个数
Mat dstImg(rowNumber colNumber CV_8UC1 Scalar(0 0 0));//初始化直方图均衡化后的图
double hist[256] = { 0.00 };//直方图
double dhist[256] = { 0.00 };//直方图归一化图
double Dhist[256] = { 0.00 };//直方图积分图,每一个像素点
for (int i = 0; i < rowNumber; i++)//遍历原始图像,得到直方图
{
uchar* data = grayImg.ptr(i);
for (int j = 0; j < colNumber; j++)
{
int temp = data[j];//得到图像像素值
hist[temp] = hist[temp] + 1;//将相应像素值在直方图中加1
}
}
for (int i = 0; i < 256; i++)//遍历直方图,得到归一化直方图和积分图
{
dhist[i] = hist[i] / sumNumber;//得到归一化图
for (int j = 0; j <= i; j++)
{
Dhist[i] = Dhist[i] + dhist[j]; //得到积分图
}
}
for (int i = 0; i < rowNumber; i++)//以积分图为查找表得到均衡化后的图
{
uchar* data1 = dstImg.ptr(i);
uchar* data2 = grayImg.ptr(i);
for (int j = 0; j < colNumber; j++)
{
int temp1 = data2[j]; //查找到原始图相应位置的像素值
int temp2 = (int)(Dhist[temp1] * 255); //在积分图中找到相应像素值的映射值
data1[j] = temp2;//将映射值赋值给目标图像相应值
}
}
return dstImg;
}
//-------------------- -
// 作者:Vencent_1993
// 来源:CSDN
// 原文:https ://blog.csdn.net/qq_29441995/article/details/52503675
//版权声明:本文为博主原创文章,转载请附上博文链接!
// 使用Rect绘制直方图
void drawHist_Rect(const cv::Mat& hist cv::Mat& canvas const cv::Scalar& color)
{
CV_Assert(!hist.empty() && hist.cols == 1);
CV_Assert(hist.depth() == CV_32F && hist.channels() == 1);
CV_Assert(!canvas.empty() && canvas.cols >= hist.rows);
const int width = canvas.cols;
const int
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
..A..H. 58368 2018-12-27 20:11 ConsoleApplication2\.vs\ConsoleApplication2\v15\.suo
文件 20848640 2018-12-27 20:11 ConsoleApplication2\.vs\ConsoleApplication2\v15\Browse.VC.db
文件 327680 2018-11-01 19:15 ConsoleApplication2\.vs\ConsoleApplication2\v15\ipch\1f9c76ae7d96a455.ipch
文件 101449728 2018-11-01 19:19 ConsoleApplication2\.vs\ConsoleApplication2\v15\ipch\971a0e0ce1d5e1b0.ipch
文件 101908480 2018-12-27 16:32 ConsoleApplication2\.vs\ConsoleApplication2\v15\ipch\AutoPCH\340d1b6cfcdd9813\CONSOLEAPPLICATION2.ipch
文件 101449728 2018-11-08 17:39 ConsoleApplication2\.vs\ConsoleApplication2\v15\ipch\AutoPCH\ea4648ec18f242bb\CONSOLEAPPLICATION2.ipch
文件 63980 2017-04-01 21:45 ConsoleApplication2\ConsoleApplication2\1.jpg
文件 27410 2017-04-01 21:42 ConsoleApplication2\ConsoleApplication2\2.jpg
文件 36132 2018-12-27 20:09 ConsoleApplication2\ConsoleApplication2\ConsoleApplication2.cpp
文件 7997 2018-12-27 17:21 ConsoleApplication2\ConsoleApplication2\ConsoleApplication2.vcxproj
文件 964 2018-12-27 17:21 ConsoleApplication2\ConsoleApplication2\ConsoleApplication2.vcxproj.filters
文件 165 2018-11-01 19:08 ConsoleApplication2\ConsoleApplication2\ConsoleApplication2.vcxproj.user
文件 867906 2005-02-16 00:41 ConsoleApplication2\ConsoleApplication2\g01.tif
文件 294630 2006-04-04 00:35 ConsoleApplication2\ConsoleApplication2\g02.tif
文件 544014 2006-12-29 11:31 ConsoleApplication2\ConsoleApplication2\g03.tif
文件 248390 2007-06-14 23:06 ConsoleApplication2\ConsoleApplication2\g04.tif
文件 922836 2007-06-16 00:25 ConsoleApplication2\ConsoleApplication2\g05.tif
文件 922836 2007-06-16 00:26 ConsoleApplication2\ConsoleApplication2\g06.tif
文件 66616 2000-07-25 11:21 ConsoleApplication2\ConsoleApplication2\g07.bmp
文件 65915 2001-01-15 17:24 ConsoleApplication2\ConsoleApplication2\g08.tif
文件 430068 2000-12-26 23:19 ConsoleApplication2\ConsoleApplication2\g09.tif
文件 360678 2006-05-29 15:11 ConsoleApplication2\ConsoleApplication2\g10.tif
文件 149371 2001-01-26 01:26 ConsoleApplication2\ConsoleApplication2\g11.tif
文件 236778 2005-07-19 15:40 ConsoleApplication2\ConsoleApplication2\g12.tif
文件 302874 2005-12-08 23:59 ConsoleApplication2\ConsoleApplication2\g13.tif
文件 283742 2006-01-12 23:53 ConsoleApplication2\ConsoleApplication2\g14.tif
文件 2474 2018-12-27 20:08 ConsoleApplication2\ConsoleApplication2\x64\Debug\ConsoleA.A78C0389.tlog\CL.command.1.tlog
文件 43770 2018-12-27 20:08 ConsoleApplication2\ConsoleApplication2\x64\Debug\ConsoleA.A78C0389.tlog\CL.read.1.tlog
文件 632 2018-12-27 20:08 ConsoleApplication2\ConsoleApplication2\x64\Debug\ConsoleA.A78C0389.tlog\CL.write.1.tlog
文件 206 2018-12-27 20:08 ConsoleApplication2\ConsoleApplication2\x64\Debug\ConsoleA.A78C0389.tlog\ConsoleApplication2.lastbuildstate
............此处省略30个文件信息
- 上一篇:opencv和C++版相机标定
- 下一篇:c语言+贪吃蛇+实验报告+ppt
相关资源
- opencv和C++版相机标定
- 计算机图形学基础教程 VisualC++版 习
- MFC+YOLOv3完美版.zip
- 深入应用C++11完整版本.pdf.rar
- 大规模C++ 程序设计高清pdf
- 人群计数-c++实现内有caffemodel和deplo
- C++(qt)游戏实战项目:坦克大战(源
- Visual C++ Build Tools 2015 离线包.part7/7
- c++从入门到精通第2版
- Qt5.9C++开发指南 源码 资源.zip
- windows pe 权威指南.pdf C++反汇编与逆向
- VC++运行库一键安装
- yolov3+opencv3.4.2 C++源码
- Qt5.9 c++开发指南.part1.rar
- 编译原理--递归下降分析程序C++
- 深入理解C++11:C++11新特性解析与应用
- C++Test9.5的插件版3
- C++ Primer 5th Edition 中文 第5版 PDF 扫描
- c++builder 6技术大全
- MSVisualC++运行库/Microsoft Visual C++(20
- 信息学奥赛一本通C++版配套光盘文件
- C++并发编程实战 pdf
- C++程序设计谭浩强100%完整·清华大学
- Devc++ 5.11 绿色版
- C++程序设计 基础、编程抽象与算法策
- 《C++Primer》第五版中文版.zip
- CAD应用程序开发详解 Visual C++与Open
- 数字图像处理与机器视觉:第二版V
- C++数据结构原理与经典问题求解
- C++Primer中文版+C++ Primer Plus中文版
评论
共有 条评论