|
|
|
|
|
/*
|
|
|
功能:图像亮度调节
|
|
|
设计者:王家星
|
|
|
修改时间:2015 05 15
|
|
|
*/
|
|
|
|
|
|
#pragma once
|
|
|
#include "stdafx.h"
|
|
|
|
|
|
// 情报数据通用结构
|
|
|
#include "QBStru.h"
|
|
|
|
|
|
// OpenCV
|
|
|
#include <opencv2\opencv.hpp>
|
|
|
using namespace cv;
|
|
|
|
|
|
|
|
|
|
|
|
// 1. OpenCV结构下的图像亮度控制
|
|
|
//功能:图像亮度控制(OpenCV结构)
|
|
|
//输入: 1. src 输入图像
|
|
|
// 2. degree 控制亮度,有效范围【0,20】,值越小越暗,越大越亮
|
|
|
|
|
|
//输出: 1. dst 输出图像
|
|
|
// 2. 返回值:处理成功返回true,失败返回false
|
|
|
bool cvMatIntensityControl(cv::Mat& src, cv::Mat& dst, int degree = 10);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 2. ImgStru结构下的图像亮度控制
|
|
|
//功能:图像亮度控制(ImgStru结构)
|
|
|
//输入: 1. src 输入图像结构体
|
|
|
// 2. degree 控制亮度,有效范围【0,20】,值越小越暗,越大越亮
|
|
|
|
|
|
//输出: 1. dst 输出图像结构体
|
|
|
// 2. 返回值:处理成功返回true,失败返回false
|
|
|
bool ImgStruIntensityControl(ImgStru* src, ImgStru* dst, int degree = 10);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 3. 通用情报结构体下的图像亮度控制
|
|
|
//功能:图像亮度控制(QBStru结构)
|
|
|
//输入: 1. qbData 通用情报数据结构体
|
|
|
// 2. degree 控制亮度, 有效范围【0,20】,值越小越暗,越大越亮
|
|
|
// 3. bSrcFirst 默认时,优先处理srcImg, srcImg-->dstImg
|
|
|
// 否则,优先处理dstImg,dstImg——>dstImg
|
|
|
|
|
|
//输出: 1. qbData 含亮度变化后图像的情报数据结构体
|
|
|
// 2. 返回值:处理成功返回true,失败返回false
|
|
|
//说明: 首先判断图像数据有效性标识位,无效时直接返回,不做任何处理;
|
|
|
bool QBStruIntensityControl(QBStru *qbData, int degree = 10, bool bSrcFirst = TRUE);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|