From 28c9ada06ecc4f26467f05372e8c26b091898a07 Mon Sep 17 00:00:00 2001 From: matlabbe Date: Tue, 7 Jul 2015 11:49:41 -0400 Subject: [PATCH] Changed all remaining IplImage to cv::Mat --- tools/ConsoleApp/main.cpp | 3 +- tools/ImagesJoiner/main.cpp | 56 +++++++++++++------------------------ 2 files changed, 20 insertions(+), 39 deletions(-) diff --git a/tools/ConsoleApp/main.cpp b/tools/ConsoleApp/main.cpp index e43115ad..a8b834e3 100644 --- a/tools/ConsoleApp/main.cpp +++ b/tools/ConsoleApp/main.cpp @@ -474,8 +474,7 @@ int main(int argc, char * argv[]) // Generate the ground truth file printf("Generate ground truth to file %s, size of %d\n", GENERATED_GT_NAME, groundTruthMat.rows); - IplImage img = groundTruthMat; - cvSaveImage(GENERATED_GT_NAME, &img); + cv::imwrite(GENERATED_GT_NAME, groundTruthMat); printf(" Creating ground truth file = %fs\n", timer.ticks()); } diff --git a/tools/ImagesJoiner/main.cpp b/tools/ImagesJoiner/main.cpp index 68e6aa76..74ca1733 100644 --- a/tools/ImagesJoiner/main.cpp +++ b/tools/ImagesJoiner/main.cpp @@ -94,60 +94,42 @@ int main(int argc, char * argv[]) std::string targetFilePath = targetDirectory+UDirectory::separator()+uNumber2Str(i++)+"."+ext; - IplImage * imageA = cvLoadImage(fileNameA.c_str(), CV_LOAD_IMAGE_COLOR); - IplImage * imageB = cvLoadImage(fileNameB.c_str(), CV_LOAD_IMAGE_COLOR); + cv::Mat imageA = cv::imread(fileNameA.c_str()); + cv::Mat imageB = cv::imread(fileNameB.c_str()); fileNameA.clear(); fileNameB.clear(); - if(imageA && imageB) + if(!imageA.empty() && !imageB.empty()) { - CvSize sizeA = cvGetSize(imageA); - CvSize sizeB = cvGetSize(imageB); - CvSize targetSize = cvSize(0,0); + cv::Size sizeA = imageA.size(); + cv::Size sizeB = imageB.size(); + cv::Size targetSize(0,0); targetSize.width = sizeA.width + sizeB.width; targetSize.height = sizeA.height > sizeB.height ? sizeA.height : sizeB.height; - IplImage* targetImage = cvCreateImage(targetSize, imageA->depth, imageA->nChannels); - if(targetImage) + cv::Mat targetImage(targetSize, imageA.type()); + + cv::Mat roiA(targetImage, cv::Rect( 0, 0, sizeA.width, sizeA.height )); + imageA.copyTo(roiA); + cv::Mat roiB( targetImage, cvRect( sizeA.width, 0, sizeB.width, sizeB.height ) ); + imageB.copyTo(roiB); + + if(!cv::imwrite(targetFilePath.c_str(), targetImage)) { - cvSetImageROI( targetImage, cvRect( 0, 0, sizeA.width, sizeA.height ) ); - cvCopy( imageA, targetImage ); - cvSetImageROI( targetImage, cvRect( sizeA.width, 0, sizeB.width, sizeB.height ) ); - cvCopy( imageB, targetImage ); - cvResetImageROI( targetImage ); - - if(!cvSaveImage(targetFilePath.c_str(), targetImage)) - { - printf("Error : saving to \"%s\" goes wrong...\n", targetFilePath.c_str()); - } - else - { - printf("Saved \"%s\" \n", targetFilePath.c_str()); - } - - cvReleaseImage(&targetImage); - - fileNameA = dir.getNextFilePath(); - fileNameB = dir.getNextFilePath(); + printf("Error : saving to \"%s\" goes wrong...\n", targetFilePath.c_str()); } else { - printf("Error : can't allocated the target image with size (%d,%d)\n", targetSize.width, targetSize.height); + printf("Saved \"%s\" \n", targetFilePath.c_str()); } + + fileNameA = dir.getNextFilePath(); + fileNameB = dir.getNextFilePath(); } else { printf("Error: loading images failed!\n"); } - - if(imageA) - { - cvReleaseImage(&imageA); - } - if(imageB) - { - cvReleaseImage(&imageB); - } } printf("%d files processed\n", i-1);