opencv——批量修改圖片畫素大小
阿新 • • 發佈:2019-01-13
#include "stdafx.h" #include<opencv2/opencv.hpp> #include<iostream> using namespace std; using namespace cv; Mat dealimage; int num = 0; ostringstream oss;//結合數字和字串 void xiugai(Mat dealimage); int main() { //////////////////////從指定資料夾下提取圖片////////////////// //需要修改圖片的資料夾地址,注意可以為jpg或者png等 string pattern = "C:/Users/zhang/Desktop/opencv——例項/小案例/車牌檢測/基於adaboost機器學習/檢測到的車牌字元/*.jpg"; //圖片存放的資料夾地址和型別 vector<Mat> input_images; vector<String> input_images_name; glob(pattern, input_images_name, false); //為false時,僅僅遍歷指定資料夾內符合模式的檔案,當為true時,會同時遍歷指定資料夾的子資料夾 //此時input_images_name存放符合條件的圖片地址 int all_num = input_images_name.size();//檔案下總共有幾個圖片 cout << "總共有" << all_num << "個圖片待測試" << endl; double t = (double)cvGetTickCount();//計算耗時 for (int i = 0; i < input_images_name.size(); i++) { input_images.push_back(imread(input_images_name[i])); //迴圈讀取每張圖片並且依次放在vector<Mat> input_images內 dealimage = input_images[i]; xiugai(dealimage); } waitKey(0); return 0; } void xiugai(Mat dealimage) { Mat resize_1(40, 20, CV_8UC3);// resize(dealimage, resize_1, Size(40, 20)); //指定修改後圖片的具體大小 //--------儲存圖片 //儲存地址 oss << "C:/Users/zhang/Desktop/opencv——例項/小案例/車牌檢測/基於adaboost機器學習/檢測到的車牌字元/"; num += 1; oss << num << ".jpg"; imwrite(oss.str(), resize_1);//儲存 oss.str("");//每次用了oss字串後,清空字串內容 }