opencv 截图并保存
opencv 截图并保存(转载)
代码功能:选择图像中矩形区,按S键截图并保存,Q键退出。
#include<opencv2/opencv.hpp>
#include<iostream>
using namespace std;
using namespace cv;
Rect select;
bool select_flag = false;
Mat img, showImg;
void S_on_Mouse(int event, int x, int y, int flags, void*param)//画矩形框并截图
{
Point p1, p2;
switch (event)
{
case EVENT_LBUTTONDOWN:
{
select.x = x;
select.y = y;
select_flag = true;
}
break;
case EVENT_MOUSEMOVE:
{
if (select_flag)
{
img.copyTo(showImg);
p1 = Point(select.x, select.y);
p2 = Point(x, y);
rectangle(showImg, p1, p2, Scalar(0, 255, 0), 2);
imshow("img", showImg);
}
}
break;
case EVENT_LBUTTONUP:
{
//显示框出的ROI
Rect roi = Rect(Point(select.x, select.y), Point(x, y));
if (roi.width && roi.height)
{
Mat roiImg = img(roi);
imshow("roi", roiImg);
imwrite("D://video picture//1.jpg", roiImg);
}
select_flag = false;
}
break;
}
}
int main()
{
img = imread("D://Libs//opencv310//opencv//sources//samples//data//aero1.jpg", 1);
showImg = img.clone();
select.x = select.y = 0;
imshow("img", showImg);
while (1)
{
int key = waitKey(10);
switch (key)
{
case 's':
setMouseCallback("img", S_on_Mouse, 0);
break;
}
if (key == 27 || key == 'q')
break;
}
waitKey(0);
return 0;
}
原文链接:https://blog.csdn.net/u013539952/article/details/77171061
最新文章
- iOS开发备忘录:属性列表文件数据持久化
- C#设计模式——访问者模式(Visitor Pattern)
- 使用VS2010开发Qt程序的一点经验(转载)
- 李洪强漫谈iOS开发[C语言-043]-判断较早日期
- git submodule的操作
- 今年暑假不AC1
- Maven项目下WEB-INFO目录下没有编译的classes文件
- Vultr优惠码20美元享受20GB SSD和2T流量
- 对于python的__name__=";__main__";的含义的理解
- Spring Boot快速入门(三):依赖注入
- understand 在windows 以及 unbuntu 下的安装
- SDN2017 第二次实验作业
- 一种3D空间的柱状多边形检测实现
- 第3课 进化后的 const分析
- pycharm格式报错: Remove redundant parentheses
- SpringBoot日记——Thymeleaf进阶小篇
- 新版本读取老版本文件崩溃BUG
- FFmpeg 入门(6):音频同步
- hdu 4198:Quick out of the Harbour解题报告
- Web安全测试指南--认证