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.

61 lines
1.4 KiB
C

2 years ago
/*
<EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȵ<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>޸<EFBFBD>ʱ<EFBFBD>2015 05 15
*/
#pragma once
#include "stdafx.h"
// <20><EFBFBD><E9B1A8><EFBFBD><EFBFBD>ͨ<EFBFBD>ýṹ
#include "QBStru.h"
// OpenCV
#include <opencv2\opencv.hpp>
using namespace cv;
// 1. OpenCV<43><EFBFBD>µ<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD>ȿ<EFBFBD><C8BF><EFBFBD>
//<2F><><EFBFBD>ܣ<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD>ȿ<EFBFBD><C8BF>ƣ<EFBFBD>OpenCV<43><EFBFBD><E1B9B9>
//<2F><><EFBFBD>룺 1. src <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
// 2. degree <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><>Ч<EFBFBD><D0A7>Χ<EFBFBD><CEA7>0,20<32><30><EFBFBD><EFBFBD>ֵԽСԽ<D0A1><D4BD><EFBFBD><EFBFBD>Խ<EFBFBD><D4BD>Խ<EFBFBD><D4BD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1. dst <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
// 2. <20><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>true<75><65>ʧ<EFBFBD>ܷ<EFBFBD><DCB7><EFBFBD>false
bool cvMatIntensityControl(cv::Mat& src, cv::Mat& dst, int degree = 10);
// 2. ImgStru<72><EFBFBD>µ<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD>ȿ<EFBFBD><C8BF><EFBFBD>
//<2F><><EFBFBD>ܣ<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD>ȿ<EFBFBD><C8BF>ƣ<EFBFBD>ImgStru<72><EFBFBD><E1B9B9>
//<2F><><EFBFBD>룺 1. src <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><E1B9B9>
// 2. degree <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><>Ч<EFBFBD><D0A7>Χ<EFBFBD><CEA7>0,20<32><30><EFBFBD><EFBFBD>ֵԽСԽ<D0A1><D4BD><EFBFBD><EFBFBD>Խ<EFBFBD><D4BD>Խ<EFBFBD><D4BD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1. dst <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><E1B9B9>
// 2. <20><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>true<75><65>ʧ<EFBFBD>ܷ<EFBFBD><DCB7><EFBFBD>false
bool ImgStruIntensityControl(ImgStru* src, ImgStru* dst, int degree = 10);
// 3. ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><E1B9B9><EFBFBD>µ<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD>ȿ<EFBFBD><C8BF><EFBFBD>
//<2F><><EFBFBD>ܣ<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD>ȿ<EFBFBD><C8BF><EFBFBD>(QBStru<72>ṹ)
//<2F><><EFBFBD>룺 1. qbData ͨ<><CDA8><EFBFBD><EFBFBD><E9B1A8><EFBFBD>ݽṹ<DDBD><E1B9B9>
// 2. degree <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><>Ч<EFBFBD><D0A7>Χ<EFBFBD><CEA7>0,20<32><30><EFBFBD><EFBFBD>ֵԽСԽ<D0A1><D4BD><EFBFBD><EFBFBD>Խ<EFBFBD><D4BD>Խ<EFBFBD><D4BD>
// 3. bSrcFirst Ĭ<><C4AC>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD><C8B4><EFBFBD>srcImg, srcImg-->dstImg
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD><C8B4><EFBFBD>dstImg<6D><67>dstImg<6D><67><EFBFBD><EFBFBD>>dstImg
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1. qbData <20><><EFBFBD><EFBFBD><EFBFBD>ȱ仯<C8B1><E4BBAF>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9B1A8><EFBFBD>ݽṹ<DDBD><E1B9B9>
// 2. <20><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>true<75><65>ʧ<EFBFBD>ܷ<EFBFBD><DCB7><EFBFBD>false
//˵<><CBB5>: <20><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD>Ա<EFBFBD>ʶλ<CAB6><CEBB><EFBFBD><EFBFBD>Чʱֱ<CAB1>ӷ<EFBFBD><D3B7>أ<EFBFBD><D8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κδ<CEBA><CEB4><EFBFBD>;
bool QBStruIntensityControl(QBStru *qbData, int degree = 10, bool bSrcFirst = TRUE);