//202204028 图片四等分 图片大小1920*1080
#include <opencv2/opencv.hpp>
#include <iostream>
#include <vector>
#include <string>
#include <fstream>
using namespace cv;
using namespace std;
void pic2pic(string);
int main()
{
std::string pattern_jpg = "G:\\20220516\\22\\*.jpg";
std::vector<cv::String> image_files;
cv::glob(pattern_jpg, image_files);
if (image_files.size() == 0)
{
std::cout << "No image files[jpg]" << std::endl;
return 0;
}
int k = 0;
for (unsigned int frame = 0; frame < image_files.size(); ++frame)
{
cout << image_files[k] << endl;
pic2pic(image_files[k]);
++k;
}
system("Pause"); //按任意键后退出
return 0;
}
void pic2pic(string filename)
{
int pos1 = string(filename).find_last_of('\\');
string leftover = string(filename).substr(pos1 + 1);
cv::Mat srcImg, dstImg;
srcImg = cv::imread(filename, 1);
int x = 0, y = 0, width = 1920, height = 1080;
cv::Rect rect1(x, y, width, height);
cv::rectangle(srcImg, rect1, cv::Scalar(0, 255, 0), 2);
Mat imCrop1 = Mat(srcImg, rect1);
//cv::imshow("crop", imCrop1);
string Filename = "_";
std::string Img_Name = "G:\\20220516\\33\\" + leftover + Filename + to_string(1) + ".jpg";
cv::imwrite(Img_Name, imCrop1);
int x1 = 1920, y1 = 0, width1 = 1920, height1 = 1080;
cv::Rect rect2(x1, y1, width1, height1);
cv::rectangle(srcImg, rect2, cv::Scalar(0, 255, 0), 2);
Mat imCrop2 = Mat(srcImg, rect2);
//cv::imshow("crop", imCrop1);
string Filename1 = "_";
std::string Img_Name1 = "G:\\20220516\\33\\" + leftover + Filename1 + to_string(2) + ".jpg";
cv::imwrite(Img_Name1, imCrop2);
int x2 = 0, y2 = 1080, width2 = 1920, height2 = 1080;
cv::Rect rect3(x2, y2, width2, height2);
cv::rectangle(srcImg, rect3, cv::Scalar(0, 255, 0), 2);
Mat imCrop3 = Mat(srcImg, rect3);
//cv::imshow("crop", imCrop1);
string Filename2 = "_";
std::string Img_Name2 = "G:\\20220516\\33\\" + leftover + Filename2 + to_string(3) + ".jpg";
cv::imwrite(Img_Name2, imCrop3);
int x3 = 1920, y3 = 1080, width3 = 1920, height3 = 1080;
cv::Rect rect4(x3, y3, width3, height3);
cv::rectangle(srcImg, rect4, cv::Scalar(0, 255, 0), 2);
Mat imCrop4 = Mat(srcImg, rect4);
//cv::imshow("crop", imCrop1);
string Filename3 = "_";
std::string Img_Name3 = "G:\\20220516\\33\\" + leftover + Filename3 + to_string(4) + ".jpg";
cv::imwrite(Img_Name3, imCrop4);
}
C++程序_1、图片四等分
于 2022-06-18 14:14:22 首次发布