Ai
1 Star 0 Fork 1

ctguhzy/GeoTiffTools

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
ImageMerger.cxx 1.30 KB
一键复制 编辑 原始数据 按行查看 历史
ctguhzy 提交于 2022-04-25 23:42 +08:00 . Updated.
#include "ImageMerger.hxx"
ImageMerger::ImageMerger()
{
_sourceDir[0]='\0';
_destFileName[0]='\0';
_fileSuffix[0]='\0';
}
bool ImageMerger::createTargetImage(bool colorTargetImage)
{
std::vector<std::string> files;
ListFiles(this->_sourceDir,_fileSuffix, files);
if( files.size() < 1 )
return false;
int maxRowIdx = 0;
int maxColIdx = 0;
char filePath[256];
char *fileName = 0;
char formatString[256];
sprintf(formatString, "Tile_R%%d_C%%d.%s", _fileSuffix);
for(int i = 0; i < files.size(); i ++)
{
int rowIdx = 0;
int colIdx = 0;
memset(filePath,0,256);
strncpy(filePath,files.at(i).c_str(),files.at(i).size());
fileName = strstr(filePath, "Tile");
sscanf(fileName,formatString, &rowIdx, &colIdx);
if( rowIdx > maxRowIdx ) maxRowIdx = rowIdx;
if( colIdx > maxColIdx ) maxColIdx = colIdx;
}
//_targetImage = cv::Mat::zeros((maxRowIdx + 1) * 1024, (maxColIdx + 1) * 1024, CV_8UC3);
if( colorTargetImage )
_targetImage = cv::Mat((maxRowIdx + 1) * 1024, (maxColIdx + 1) * 1024, CV_8UC3, cv::Scalar(255,255,255));
else
_targetImage = cv::Mat((maxRowIdx + 1) * 1024, (maxColIdx + 1) * 1024, CV_8UC1, cv::Scalar(0,0,0));
return _targetImage.rows > 0;
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/ctguhzy/GeoTiffTools.git
git@gitee.com:ctguhzy/GeoTiffTools.git
ctguhzy
GeoTiffTools
GeoTiffTools
master

搜索帮助