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

2 years ago
#pragma once
#include "stdafx.h"
// OpenCV
#include <opencv2\opencv.hpp>
using namespace cv;
// <20><EFBFBD><E9B1A8><EFBFBD><EFBFBD>ͨ<EFBFBD>ýṹ
#include "QBStru.h"
// <20><><EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2014/11/02
// <20>޶<EFBFBD><DEB6><EFBFBD>2015/03/11
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5>ļ<EFBFBD><C4BC>ξ<EFBFBD>У<EFBFBD><D0A3>
//<2F><><EFBFBD>룺 1. srcImg <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// 2. GCP_XY <20><><EFBFBD>Ƶ㣨<C6B5><E3A3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// 3. GCP_LonLat <20><><EFBFBD>Ƶ㣨<C6B5><E3A3A8>γ<EFBFBD><CEB3><EFBFBD><EFBFBD><EFBFBD>
// 4. type: <20><EFBFBD><E4BBBB><EFBFBD><EFBFBD> -1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ 0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1<><31><EFBFBD><EFBFBD><EFBFBD>ζ<EFBFBD><CEB6><EFBFBD>ʽ
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1. dstImg <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// 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 GCPGeoCorrectImg( ImgStru *dstImg,
const ImgStru *srcImg,
const std::vector<cv::Point2d>& GCP_XY,
const std::vector<cv::Point2d>& GCP_LonLat,
int type = -1);
//<2F><><EFBFBD>ܣ<EFBFBD>OpenCVͼ<56><CDBC><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5>ļ<EFBFBD><C4BC>ξ<EFBFBD>У<EFBFBD><D0A3>
//<2F><><EFBFBD>룺 1. srcImg <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// 2. GCP_XY <20><><EFBFBD>Ƶ㣨<C6B5><E3A3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// 3. GCP_LonLat <20><><EFBFBD>Ƶ㣨<C6B5><E3A3A8>γ<EFBFBD><CEB3><EFBFBD><EFBFBD><EFBFBD>
// 4. type: <20><EFBFBD><E4BBBB><EFBFBD><EFBFBD> -1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ 0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1<><31><EFBFBD><EFBFBD><EFBFBD>ζ<EFBFBD><CEB6><EFBFBD>ʽ
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1. dstImg <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// 2. LBbox <20><>γ<EFBFBD>ȱ߽<C8B1>
// 3. <20><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>true<75><65>ʧ<EFBFBD>ܷ<EFBFBD><DCB7><EFBFBD>false
bool GCPGeoCorrectImg( cv::Mat& dstImg, GeoBoundingBox& LBbox,
const cv::Mat& srcImg,
const std::vector<cv::Point2d>& GCP_XY,
const std::vector<cv::Point2d>& GCP_LonLat,
int type = -1);
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>ڿ<EFBFBD><DABF>Ƶ<EFBFBD><C6B5>ļ<EFBFBD><C4BC><EFBFBD>У<EFBFBD><D0A3>
//<2F><><EFBFBD>룺 1. srcImg <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// 2. GCP_xy <20><><EFBFBD>Ƶ㣨<C6B5><E3A3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// 3. GCP_XY <20><><EFBFBD>Ƶ㣨<C6B5>ο<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1. dstImg <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// 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 CPBasedImgCorrect( cv::Mat &dstImg,
const cv::Mat &srcImg,
const std::vector<cv::Point2d>& GCP_xy,
const std::vector<cv::Point2d>& GCP_XY);