You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

63 lines
1.7 KiB
C++

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/*
功能:图像去雾
设计者:王家星
修改时间2015 05 15
*/
#pragma once
#include "stdafx.h"
// 情报数据通用结构
#include "QBStru.h"
// OpenCV
#include <opencv2\opencv.hpp>
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
// 否则优先处理dstImgdstImg——>dstImg
//输出: 1. qbData 含图像去雾后图像的情报数据结构体
// 2. 返回值处理成功返回true失败返回false
//说明: 首先判断图像数据有效性标识位,无效时直接返回,不做任何处理;
bool QBStruDeHazeControl(QBStru *qbData, int A_MAX = -1, double degree = 0.78, bool bSrcFirst = true);