资源简介
RemoveHaze.rar
代码片段和文件信息
// DarkDlg.cpp : implementation file
//
#include “stdafx.h“
#include
#include “time.h“
#include
#include “resource.h“ // main symbols
#include “DarkChannelPrior.h“
#include
#include
using namespace std;
#define for if (false); else for
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
int cmp( const int &a const int &b ){
if( a > b )
return 1;
else
return 0;
}
CDarkChannelPrior::CDarkChannelPrior() // standard constructor
{
}
CDarkChannelPrior::~CDarkChannelPrior() // standard constructor
{
}
/****************************************************************************************
*
* 函数名称:
* Process()
*
* 参数:
* IplImage *pImage - 要处理的图像的指针
*
* 返回值
* IplImage* - 成功返回IplImage*指针。
*
* 说明:
* 该函数对原图像进行基于暗原色先验的图像去雾处理,并将结果存储一个IplImage*对象中。
*
*****************************************************************************************/
IplImage* CDarkChannelPrior::Process(IplImage *pImage)
{
blockSize = 15;
w0 = 0.95;
t0=0.4;
clock_t start finish;
start = clock(); //程序运行起始时间
CvMat *darkImage = NULL;
double airlight = 0.0;
CvMat *Mat = NULL;
CvMat *mat = NULL;
IplImage *resImage = NULL;
if (pImage->nChannels == 1)
{
darkImage = GetSingleDarkChannel(pImage blockSize); //获得dark channel图
airlight = GetAirLight(darkImage); //获得大气光Airlight
Mat = GetT(darkImage w0 airlight); //计算transmission
mat = guidedfilter(pImage Mat 20 0.001);
resImage = GetResultGrayImage(pImage mat airlight t0); //获得修正t后的去雾图像
}
else
{
darkImage = GetDarkChannel(pImage blockSize); //获得dark channel图
airlight = GetAirLight(darkImage); //获得大气光Airlight
Mat = GetT(darkImage w0 airlight); //计算transmission
mat = guidedfilter_color(pImage Mat 20 0.001);
resImage = GetResultColorImage(pImage mat airlight t0); //获得修正t后的去雾图像
}
finish = clock(); //程序结束时间
double duration = (double)(finish - start) / CLOCKS_PER_SEC; //计算程序运行的时间
time.Format(“%lf“ duration);
return resImage;
}
/****************************************************************************************
*
* 函数名称:
* GetDarkChannel()
*
* 参数:
* IplImage *srcImage - 要处理的原图像的指针
* int blockSize - 选取的块的大小
*
* 返回值
* CvMat* - 成功返回CvMat的指针。
*
* 说明:
* 该函数计算srcImage图像的dark channel prior图,并将结果存储一个CvMat对象中。
*
*****************************************************************************************/
CvMat* CDarkChannelPrior::GetDarkChannel(IplImage *srcImage int blockSize)
{
int height = srcImage->height;
int width = srcImage->width;
int channels = srcImage->nChannels;
int win_size = (blockSize - 1)/2;
IplImage *R = cvCreateImage(cvGetSize(srcImage) srcImage->depth 1);
IplImage *G = cvCreateImage(cvGet
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 42845 2011-03-28 11:31 RemoveHaze\CLAHE.CPP
文件 2370 2011-01-13 17:31 RemoveHaze\CLAHE.H
文件 28184 2011-03-28 11:00 RemoveHaze\DarkChannelPrior.cpp
文件 1381 2011-01-09 15:49 RemoveHaze\DarkChannelPrior.h
文件 34507 2011-10-14 11:11 RemoveHaze\Debug\CLAHE.obj
文件 0 2011-10-14 11:11 RemoveHaze\Debug\CLAHE.sbr
文件 71592 2011-03-28 11:07 RemoveHaze\Debug\DarkChannelPrior.obj
文件 0 2011-03-28 11:07 RemoveHaze\Debug\DarkChannelPrior.sbr
文件 11385 2011-03-28 11:07 RemoveHaze\Debug\Morphology.obj
文件 0 2011-03-28 11:07 RemoveHaze\Debug\Morphology.sbr
文件 5948416 2011-10-14 11:11 RemoveHaze\Debug\RemoveHaze.bsc
文件 180336 2011-10-14 11:11 RemoveHaze\Debug\RemoveHaze.exe
文件 346632 2011-10-14 11:11 RemoveHaze\Debug\RemoveHaze.ilk
文件 17594 2011-03-13 16:05 RemoveHaze\Debug\RemoveHaze.obj
文件 7036544 2011-01-13 10:09 RemoveHaze\Debug\RemoveHaze.pch
文件 566272 2011-10-14 11:11 RemoveHaze\Debug\RemoveHaze.pdb
文件 3488 2011-02-24 14:43 RemoveHaze\Debug\RemoveHaze.res
文件 0 2011-03-13 16:05 RemoveHaze\Debug\RemoveHaze.sbr
文件 94054 2011-03-19 14:57 RemoveHaze\Debug\RemoveHazeDlg.obj
文件 0 2011-03-19 14:57 RemoveHaze\Debug\RemoveHazeDlg.sbr
文件 21698 2011-03-28 11:07 RemoveHaze\Debug\Retinex.obj
文件 0 2011-03-28 11:07 RemoveHaze\Debug\Retinex.sbr
文件 105860 2011-01-13 10:09 RemoveHaze\Debug\StdAfx.obj
文件 1374962 2011-01-13 10:09 RemoveHaze\Debug\StdAfx.sbr
文件 312320 2011-10-24 10:24 RemoveHaze\Debug\vc60.idb
文件 462848 2011-10-14 11:11 RemoveHaze\Debug\vc60.pdb
文件 3968 2011-03-28 09:48 RemoveHaze\Morphology.cpp
文件 446 2011-01-20 10:02 RemoveHaze\Morphology.h
文件 3651 2010-12-24 11:24 RemoveHaze\ReadMe.txt
文件 22572 2011-10-14 11:10 RemoveHaze\RemoveHaze.aps
............此处省略25个文件信息
- 上一篇:基于VHDL的程序设计集
- 下一篇:网络组建与维护实训
相关资源
- vivado-2017官方教程.pdf
- JESD84-B51.pdf
- TheLENAns-3LTEModuleDocumentationReleasev8.pdf
- LearnComputerSciencewithSwift.pdf
- VL53L0X_general.rar
- TYCNetManageSetup215_Standard.zip
- CFCC.rar
- longcm_9519683.zip
- 51CTO-韩顺平js的PPT(全).zip
- 虚拟串口vspd8.0.412含注册码.rar
- 7313517信息论基础田宝玉.pdf
- lc5汉化破解版.rar
- IC卡判断系统程序-锤子解密器-.rar
- 机器人学状态估计.pdf
- HANVONSDK20141119.rar
- ModelQ2.zip
- ADS2008射频电路设计与仿真CH06——功率
- 博创华宇重庆06期_xxx_中级项目.rar
- 形式语言与自动机.rar
- TheE-GasCaseStudy.pdf
- PPT中文版.rar
- KPCA人脸GUI.zip
- 一个小时搭建整套物联网方案.docx
- BaiduPCS-Go-3.6.2-windows-amd64.zip
- cain_4.9.46_setup.exe
- 超分辨重建WDSR.rar
- 超分辨重建EDSR.rar
- gsm1.rar
- judyfun_10247677.zip
- GBT14213-1993.PDF
评论
共有 条评论