資源簡介
暗通道先驗法去霾圖像處理源程序,是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? {
for?(int?j?=?0;?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? {
for?(int?j?=?7;?j? {
int?grayMin?=?255;//設置最小灰度值255
for?(int?a?=?i?-?7;?a? for?(int?b?=?j?-?7;?b? 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?<“大氣平均強度:?“?< /*************************************/
/*************************************/
/*第三部分*/
/*對三個通道進行最小值濾波*/
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個文件信息
評論
共有 條評論