• 大小: 16.45MB
    文件类型: .rar
    金币: 2
    下载: 0 次
    发布日期: 2024-02-02
  • 语言: 其他
  • 标签:

资源简介

暗通道先验法去霾图像处理源程序,是vs2015配置opencv3.2,有需要的朋友可以下载。

资源截图

代码片段和文件信息

#include “stdafx.h“

#include 
#include
using namespace cv;
using namespace std;


int main()
{
/*第一部分,对三通道像素值计算最小值*/
Mat inputimage = imread(“天安门.jpg“);
Mat outputimage1;
Mat outputimage2;
if (!inputimage.data) { printf(“读取图像错误\n“); return false; }
outputimage1 = inputimage.clone();

cv::cvtColor(inputimage outputimage2 CV_BGR2GRAY);//转灰度图像,单通道
//output3 = outputimage2.clone();
int rownumber1 = outputimage1.rows;//行数
int colnumber1 = outputimage1.cols;//列数
for (int i = 0; i < rownumber1; i++)
{
for (int j = 0; j < colnumber1; j++)
{
if (outputimage1.at(i j)[0] > outputimage1.at(i j)[1])
if (outputimage1.at(i j)[1] > outputimage1.at(i j)[2])

outputimage2.at(i j) = outputimage1.at(i j)[2];
else
outputimage2.at(i j) = outputimage1.at(i j)[1];


else
if (outputimage1.at(i j)[0] > outputimage1.at(i j)[2])

outputimage2.at(i j) = outputimage1.at(i j)[2];

else
outputimage2.at(i j) = outputimage1.at(i j)[0];
}

}
//namedWindow(“三个像素中最小值输出灰度图像“);
//imshow(“三个像素中最小值输出灰度图像“ outputimage2);
//imshow(“直接输出的灰度图“ output3);


/************************************************/
//最小值滤波处理
/************************************************/

Mat  outputimage3 outputimage4;
outputimage4 = outputimage2.clone();
//outputimage21=outputimage2.clone();
//cv::cvtColor(outputimage1 outputimage21 CV_BGR2GRAY);//转灰度图像,单通道
copyMakeBorder(outputimage2 outputimage3 7 7 7 7 BORDER_REPLICATE);
for (int i = 7; i < rownumber1 + 7; i++)
{
for (int j = 7; j < colnumber1 + 7; j++)//对于每个像素进行处理下面有15*15的最小值滤波处理
{
int grayMin = 255;//设置最小灰度值255
for (int a = i - 7; a < i + 8; a++)
for (int b = j - 7; b < j + 8; b++)//15*15的最小值滤波
if (grayMin > outputimage3.at(a b))
grayMin = outputimage3.at(a b);
outputimage4.at(i - 7 j - 7) = grayMin;
}
}
//imshow(“暗通道图像“ outputimage4);

/*第二部分,求出暗通道图像中亮度最大的像素值作为大气光强度*/
/********************************************/
/**************求通道像素最大值******************/
/********************************************/
double maxVal[4] = { 0000 }; //最大值一定要赋初值,否则运行时会报错
Point maxLoc;
minMaxLoc(outputimage4 NULL &maxVal[0] NULL &maxLoc);
cout << “大气平均强度: “ << maxVal[0] << endl;
/*************************************/
/*************************************/



/*第三部分*/
/*对三个通道进行最小值滤波*/
Mat outputimage1A;

Mat outputimage1B;

Mat outputimage1C;

//cv::cvtColor(outputimage1 output1A CV_BGR2GRAY);
//output1A = outputimage2.clone();
//output1B = output1A.clone();
//output1C = output1A.clone();
vector channels;//把一个3通道图像转换成3个单通道图像
split(outputimage1 channels);//分离彩色通道
outputimage1A = channels.at(0);
outputimage1B = channels.at(1);
outputimage1C = ch

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件    3407872  2018-03-05 20:07  ipch\IMAGE-4a6c423b\IMAGE-379f936d.ipch

     文件    3407872  2018-03-05 16:30  ipch\IMAGE-994847f\IMAGE-379f936d.ipch

     文件    3407872  2017-06-17 22:39  ipch\IMAGE-9e9418fa\IMAGE-17ea7c27.ipch

     文件    3407872  2017-12-26 18:47  ipch\IMAGE-9e9418fa\IMAGE-379f936d.ipch

     文件    3407872  2017-06-17 22:00  ipch\IMAGE-b47bb111\IMAGE-17ea7c27.ipch

     文件    3407872  2017-05-30 22:49  ipch\IMAGE-d5a3335c\IMAGE-17ea7c27.ipch

     文件    3407872  2017-05-30 22:42  ipch\IMAGE-d5a3335c\IMAGE-379f936d.ipch

     文件    3407872  2017-05-30 22:35  ipch\IMAGE-d5a3335c\IMAGE-fc85b50f.ipch

     文件    3407872  2018-02-05 22:02  ipch\IMAGE-f1e51424\IMAGE-379f936d.ipch

     文件     186880  2018-02-05 22:10  x64\Debug\Image.exe

     文件     862608  2018-02-05 22:10  x64\Debug\Image.ilk

     文件    3108864  2018-02-05 22:10  x64\Debug\Image.pdb

     文件      58880  2017-06-17 22:23  x64\Release\Image.exe

     文件     758437  2017-06-17 22:23  x64\Release\Image.iobj

     文件     238992  2017-06-17 22:23  x64\Release\Image.ipdb

     文件    2371584  2017-06-17 22:23  x64\Release\Image.pdb

     文件       2581  2018-02-05 20:23  .gitattributes

     文件       3997  2018-02-05 20:23  .gitignore

     文件       1297  2017-05-30 22:35  Image.sln

     文件   30117888  2018-03-05 20:07  Image.VC.db

     文件      14949  2017-06-04 17:10  最终(加天空).txt

    ..A..H.     45568  2018-03-05 20:07  .vs\Image\v14\.suo

     文件      14977  2018-02-05 22:10  Image\Image.cpp

     文件       8080  2017-05-30 22:49  Image\Image.vcxproj

     文件       1312  2017-05-30 22:35  Image\Image.vcxproj.filters

     文件       1496  2017-05-30 22:35  Image\ReadMe.txt

     文件        209  2017-05-30 22:35  Image\stdafx.cpp

     文件        234  2017-05-30 22:35  Image\stdafx.h

     文件        240  2017-05-30 22:35  Image\targetver.h

     文件       2980  2018-02-05 22:10  Image\x64\Debug\Image.log

............此处省略48个文件信息

评论

共有 条评论

相关资源