C++图片批处理
? ? ? 在圖像處理過程中,經(jīng)常要對圖像進行縮放以減少數(shù)據(jù)量,加快處理速度,試過創(chuàng)建一個txt文件,其中存放文件列表(在dos下用dir/b 命令生成)但過程較為復雜,此處方法較為簡單,但是要事先將要處理的圖片按數(shù)字順序命名,比如"1.jpg,2.jpg"等等。當然處理不僅限于圖片尺度變化,還可以進行其他的常規(guī)操作,所以也是一個十分有用的簡單的工程。可以批量處理圖片。?
? ? ?工程目錄下創(chuàng)建src_img文件夾和dst_img文件夾:
? ? ? src——img中存有1.jpg----10.jpg 待處理圖片
? ? ? dst------img用來存放處理后的圖片
#include "stdafx.h" #include "string.h" #include "iostream" #include "stdio.h" #include "opencv2/imgproc/imgproc.hpp"; #include "opencv2/highgui/highgui.hpp";using namespace std; using namespace cv;#define DST_IMG_WIDTH 100 #define DST_IMG_HEIGH 100 void main(int argc, _TCHAR* argv[]) {char ascii[5],ascij[5];int i;Mat src_img ;string src_img_name="src_img/";//源文件所在位置string dst_img_name="dst_img/";//目標文件要存放的位置for(i=1;i<=10;i++)//文件個數(shù){itoa(i,ascii,10);//整形數(shù)字轉(zhuǎn)為字符十進制src_img_name+=ascii;//源文件名,dst_img_name+=ascii;//目標文件名,src_img_name+=".jpg";//+擴展名dst_img_name+=".jpg";//+擴展名src_img = imread(src_img_name,1);//讀入原始圖像Mat dst_img(DST_IMG_WIDTH,DST_IMG_HEIGH,src_img.type());//創(chuàng)建期望大小的空圖像,類型resize(src_img,dst_img,dst_img.size(),0,0,INTER_LINEAR);//利用opencv中的resize()函數(shù)對圖片進行縮放imwrite(dst_img_name,dst_img);//保存圖片cout<<"src_img_name:"<<src_img_name<<endl;src_img_name="src_img/";//文件名復位。dst_img_name="dst_img/";//文件名復位。}}總結(jié)
- 上一篇: Unity 2D随机地图
- 下一篇: mac苹果电脑m1 mbp 缺电自动关机