/* 功能:图像去雾 设计者:王家星 修改时间:2015 05 15 */ #pragma once #include "stdafx.h" // 情报数据通用结构 #include "QBStru.h" // OpenCV #include using namespace cv; // 1. OpenCV结构下的图像去雾控制 //功能:图像去雾控制(OpenCV结构) //输入: 1. img 输入图像 // 2. A_MAX 控制去雾效果, A_MAX < 0 时,自适应计算(特别耗时); 有效范围【0,255】,异常值自适应 // 3. degree 控制去雾效果, 有效范围【0,1】,异常值自适应 //输出: 1. HazeFree 输出图像 // 2. 返回值:处理成功返回true,失败返回false bool DeHazeImg(const cv::Mat &img, cv::Mat &HazeFree, double A_MAX = -1, double degree = 0.78); // 2. ImgStru结构下的图像去雾控制 //功能:图像去雾控制(ImgStru结构) //输入: 1. src 输入图像结构体 // 2. A_MAX 控制去雾效果, A_MAX < 0 时,自适应计算(特别耗时); 有效范围【0,255】,异常值自适应 // 3. degree 控制去雾效果, 有效范围【0,1】,异常值自适应 //输出: 1. dst 输出图像结构体 // 2. 返回值:处理成功返回true,失败返回false bool ImgStruDeHazeControl(ImgStru* src, ImgStru* dst, int A_MAX = -1, double degree = 0.78); // 3. QBStru结构下的图像去雾控制 //功能:图像去雾控制 //输入: 1. qbData 通用情报数据结构体 // 2. A_MAX 控制去雾效果, A_MAX < 0 时,自适应计算(特别耗时); 有效范围【0,255】 // 3. degree 控制去雾效果, 有效范围【0,1】 // 3. bSrcFirst 默认时,优先处理srcImg, srcImg-->dstImg // 否则,优先处理dstImg,dstImg——>dstImg //输出: 1. qbData 含图像去雾后图像的情报数据结构体 // 2. 返回值:处理成功返回true,失败返回false //说明: 首先判断图像数据有效性标识位,无效时直接返回,不做任何处理; bool QBStruDeHazeControl(QBStru *qbData, int A_MAX = -1, double degree = 0.78, bool bSrcFirst = true);