• 大小: 50.78MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2022-09-15
  • 语言: C/C++
  • 标签: C+  

资源简介

数字图像处理基本处理之一:空域增强。 一、图象灰度变换; 二、图象平滑; 三、图象锐化;

资源截图

代码片段和文件信息

#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个文件信息

评论

共有 条评论