opencv2读取视频提取ROI区域并把ROI区域保存为图片

opencv2读取视频提取ROI区域并把ROI区域保存为图片
#include 
#include 
#include 
#include 
#include 
using namespace std;
using namespace cv;
//全局变量定义
bool a(false);
int i=1;
//定义感兴趣区域
void SetROI(Mat srcimage)
{
	if(!a)
	{
		cout<<"图像的宽度:"<",图像的高度:"<		a=true;
	}
	rectangle(srcimage,Point(210,0),Point(595,srcimage.size().height),Scalar(0,255,255),4,CV_AA);
	Mat imgROI=srcimage(Rect(Point(210,0),Point(595,srcimage.size().height)));
	vector compression_params;
    	compression_params.push_back(CV_IMWRITE_PNG_COMPRESSION);
	char image_name[13];
	sprintf(image_name, "%s%d%s", "roi", i++, ".jpg");//保存的图片名
	imwrite(image_name,imgROI,compression_params);//将感兴趣区域保存为图片
}
int main()
{
	VideoCapture capture("F:\\木材视频\\IPNetCam(192.168.1.253)_01_144644.avi");//读取本地视频
	if(!capture.isOpened())
	{
		cout<<"加载视频失败,请检查文件路径设置!"<		return -1;
	}
	Mat frame; //当前帧
	namedWindow("原视频:");
	bool stop(false);
	while(!stop)
	{
		if (!capture.read(frame))
			break;
		SetROI(frame);
		imshow("原视频:",frame);
		if (waitKey(10)>=0)
		stop= true;
	}
	cout<<"hello"<	system("pause");
	return 0;
}

opencv2读取视频提取ROI区域并把ROI区域保存为图片_第1张图片


你可能感兴趣的:(图像处理(opencv))