使用OpenCV批量定位图片,并每隔0.5秒动态显示效果,可以灰度化或者否,再保存到相应文件夹下。
// Demon.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include
#include
#include
#include
#include
using namespace std;
using namespace cv;
int _tmain(int argc, _TCHAR* argv[])
{
string dir_path = "F:\\AutoSparePart2\\20170928\\Camera\\Cam2\\0\\";
char outDirName[50];
Directory dir;
Rect select;//声明矩形
string extenttype = "*.bmp";
vector<string> fileNames = dir.GetListFiles(dir_path, extenttype, false);
for (int item = 0; item < fileNames.size(); item++)
{
//get image name
string fileName = fileNames[item];
string fileFullName = dir_path + fileName;
//cout << "File name:" << fileName << endl;
cout << "Full path:" << fileFullName << endl;
cv::Mat img = cv::imread(fileFullName);
/*Mat grayImg;
cvtColor(img, grayImg, CV_BGR2GRAY);
cv::imshow("gray", grayImg);
cv::waitKey();*/
sprintf_s(outDirName, "F:\\objectmarker\\todo\\gray\\%08d.jpg", item);
//rectangle矩形
select.x = 20;
select.y = 10;
select.width = 250;
select.height = 200;
rectangle(img, select, Scalar(255, 0, 255), 2, 8, 0);//用矩形画矩形窗
cv::imshow("rectangleImg", img);
cv::waitKey(500);
//imwrite(outDirName, img);
}
return 0;
}
// Demon.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include
#include
#include
#include
#include
using namespace std;
using namespace cv;
int _tmain(int argc, _TCHAR* argv[])
{
string dir_path = "F:\\AutoSparePart2\\20170928\\Camera\\Cam2\\0\\";
char outDirName[50];
Directory dir;
Rect select;//声明矩形
string extenttype = "*.bmp";
vector<string> fileNames = dir.GetListFiles(dir_path, extenttype, false);
for (int item = 0; item < fileNames.size(); item++)
{
//get image name
string fileName = fileNames[item];
string fileFullName = dir_path + fileName;
//cout << "File name:" << fileName << endl;
cout << "Full path:" << fileFullName << endl;
cv::Mat img = cv::imread(fileFullName);
/*Mat grayImg;
cvtColor(img, grayImg, CV_BGR2GRAY);
cv::imshow("gray", grayImg);
cv::waitKey();*/
sprintf_s(outDirName, "F:\\BaiduYunDownload\\ImagesJpg\\Cam-2\\0\\%06d.jpg", item);
//rectangle矩形
select.x = 20;
select.y = 10;
select.width = 250;
select.height = 200;
rectangle(img, select, Scalar(255, 0, 255), 2, 8, 0);//用矩形画矩形窗
/*cv::imshow("rectangleImg", img);
cv::waitKey(500);*/
Mat faceROI = img(select);
cv::imshow("faceROI", faceROI);
cv::waitKey(500);
//imwrite(outDirName, img);
}
return 0;
}
// Demon.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include
#include
#include
#include
#include
using namespace std;
using namespace cv;
int _tmain(int argc, _TCHAR* argv[])
{
string dir_path = "F:\\AutoSparePart2\\20171017\\Camera\\Cam4\\0\\";
char outDirName[50];
Directory dir;
Rect select;//声明矩形
string extenttype = "*.bmp";
vector<string> fileNames = dir.GetListFiles(dir_path, extenttype, false);
for (int item = 0; item < fileNames.size(); item++)
{
//get image name
string fileName = fileNames[item];
string fileFullName = dir_path + fileName;
//cout << "File name:" << fileName << endl;
cout << "Full path:" << fileFullName << endl;
Mat img = cv::imread(fileFullName);
/*Mat grayImg;
cvtColor(img, grayImg, CV_BGR2GRAY);
cv::imshow("gray", grayImg);
cv::waitKey();*/
sprintf_s(outDirName, "F:\\BaiduYunDownload\\ImagesJpg2\\Cam-4\\0\\%06d.jpg", item+1087);
//rectangle矩形
select.x = 0;
select.y = 0;
select.width = 320;
select.height = 240;
rectangle(img, select, Scalar(255, 0, 255), 2, 8, 0);//用矩形画矩形窗
imshow("rectangleimg", img);
waitKey(500);
Mat faceROI = img(select);
/*cv::imshow("faceROI", faceROI);
cv::waitKey(200); */
//imwrite(outDirName, faceROI);
}
return 0;
}
内存不足,改动sprintf_s(outDirName, “F:\BaiduYunDownload\ImagesJpg\Cam-2\0\%06d.jpg”, item);