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

opencv 截图并保存的更多相关文章

  1. [Android] 拍照、截图、保存并显示在ImageView控件中

    近期在做Android的项目,当中部分涉及到图像处理的内容.这里先讲述怎样调用Camera应用程序进行拍照,并截图和保存显示在ImageView控件中以及遇到的困难和解决方法.     PS:作者购买 ...

  2. html2canvas插件对整个网页或者网页某一部分截图并保存为图片

    html2canvas能够实现在用户浏览器端直接对整个或部分页面进行截屏.这个脚本将当前页面渲染成一个canvas图片,通过读取DOM并将不同的样式应用到这些元素上实现.它不需要来自服务器任何渲染,整 ...

  3. 对html进行截图并保存为本地图片

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. Unity3D随意截图并保存

    http://blog.csdn.net/awnuxcvbn/article/details/9199245 效果 代码 <pre name="code" class=&qu ...

  5. Python+Selenium练习篇之21-如何截图并保存

    本文介绍如何利用Selenium的方法进行截图,在测试过程中,是有必要截图,特别是遇到错误的时候进行截图.在selenium for python中主要有三个截图方法,我们挑选其中最常用的一种. ge ...

  6. Python3.X Selenium 自动化测试中如何截图并保存成功

    在selenium for python中主要有三个截图方法,我们挑选其中最常用的一种. 挑最常用的:get_screenshot_as_file() 相关代码如下:(下面的代码可直接复制) # co ...

  7. selenium 页面截图并保存

    import java.io.File; import java.io.IOException; import org.apache.commons.io.FileUtils; import org. ...

  8. 利用HTML5的Video进行视频截图并保存到本地

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  9. opencv 工程的保存

    一个项目的保存,只要保存工程底下的.CPP  .h   .dll  .lib  输入输出文件即可 最终保存的文件

随机推荐

  1. PHP usleep() 函数

    实例 延迟执行当前脚本 5 秒(5000000 微秒):高佣联盟 www.cgewang.com <?php echo date('h:i:s') . "<br>" ...

  2. 剑指 Offer 50. 第一个只出现一次的字符

    本题 题目链接 题目描述 我的题解 (方法三应用更广泛:方法一虽有限制,但很好用,此题中该方法效率也最高) 方法一:(适用于范围确定的) 思路分析 该字符串只包含小写字母,即字符种类最多26个 开一个 ...

  3. 为什么 2020 还要学 Node.js

    更佳阅读体验 https://www.yuque.com/sunluyong/node 前言 前些日子刷知乎看到个 2019 年初的问题 2019年nodejs凉了吗?凉到什么程度了?才看到问题的时候 ...

  4. RNN神经网络模型原理

    1. 前言 循环神经网络(recurrent neural network)源自于1982年由Saratha Sathasivam 提出的霍普菲尔德网络. 传统的机器学习算法非常依赖于人工提取的特征, ...

  5. Newbe.Claptrap 框架如何实现多级生命周期控制?

    Newbe.Claptrap 框架如何实现多级生命周期控制?最近整理了一下项目的术语表.今天就谈谈什么是 Claptrap Lifetime Scope. 特别感谢 kotone 为本文提供的校对建议 ...

  6. Android SP的具体内容

    过了这么久了,看看自己的园龄都17天了,一直在总结,从未缺席,我还是很开心的,踏踏实实的完成自己能学到的. 今天学习SP SP:全称SharedPreferences,别问我为啥知道,因为打了好多遍了 ...

  7. 一文说通C#中的异步编程补遗

    前文写了关于C#中的异步编程.后台有无数人在讨论,很多人把异步和多线程混了. 文章在这儿:一文说通C#中的异步编程 所以,本文从体系的角度,再写一下这个异步编程.   一.C#中的异步编程演变 1. ...

  8. mPaaS 小程序架构解析 | 实操演示小程序如何实现多端开发

    对于 mPaaS 小程序开发框架,想必读者们并不陌生.它源自于支付宝小程序框架,继承了易开发性.跨平台性及 Native 性能,不仅帮助开发者实现面向自有 App 投放小程序,还可快速构建打包,覆盖支 ...

  9. 简化RESTful开发,Spring Data REST让你少掉发

    1 前言 欢迎访问南瓜慢说 www.pkslow.com获取更多精彩文章! 前言 Springboot + Spring MVC大大简化了Web应用的RESTful开发,而Spring Data RE ...

  10. C# ASP 异步存储数据

    1.异步委托 在导航栏接收到提交的请求后,调用个各子画面的保存答案方法,之后实例化委托 saveToDB . 当执行BeginInvoke后,服务器会另起线程执行saveToDB里的的方法,因为这里要 ...