C++ opencv实现在图片上画一条线示例代码
作者:浅念念52 发布时间:2021-12-15 12:34:27
标签:C++,opencv,图片画线
1 在图片上用鼠标进行操作,opencv主要用到setMouseCallback()函数。
winname
窗口名称
onMouse
鼠标事件的回调函数
userdata
传递给回调函数
还有onMouse函数
event 鼠标事件
x,y 鼠标在图片上的坐标
flags 鼠标事件标志
这里有一个容易搞混的地方
void跟void*
在函数的返回值中, void 是没有任何返回值, 而 void * 是返回任意类型的值的指针.
划线还需要用到line()函数
img 图片名称
pt1 线段起点
pt2 线段终点
color 颜色
thickness 宽度
lineType 线段类型
shift 移位点坐标中的小数位数。
接下来直接看代码
#include <iostream>
#include<opencv.hpp>
using namespace std;
using namespace cv;
Mat img;
Point p;
void on_monse(int event, int x, int y, int flags, void*)
{
if (event == 1)//1 左键点击
{
p = Point(x, y);
}
else if (event == 0 && flags == 1)//0 滑动 1左键拖曳
{
Point p1(x, y);
line(img, p, p1, Scalar(255, 0, 0), 5);
p = p1;
imshow("www", img);
}
}
int main()
{
img = imread("星空1.png", 1);
imshow("www", img);
setMouseCallback("www", on_monse);
waitKey(0);
}
效果图:
附:
来源:https://blog.csdn.net/Lightismore/article/details/123666740


猜你喜欢
- 目录1 任务状态手动控制任务启动确保任务已激活2 任务取消3 进度报告4 Task.Yield 让步5 定制异步任务后续操作Configur
- 首先下载newtonsoft.json,增加引用using newtonsoft.json.linq;把jobject的内容提取出来,job
- SpringBoot运行Test时报错运行Test时的报错信息:SpringBoot Unable to find a @SpringBoo
- 今天闲来无事写了一个清内存的小东西,类似360,在桌面上悬浮,点击后清除后台无用程序,清除后台程序是通过调用ActivityManger.k
- java中的线程状态🥇在操作系统层面,一个线程就两个状态:就绪和阻塞状态.但是java中为了在线程阻塞时能够更快速的知晓一个线程阻塞的原因,
- 状态分类在Hibernate框架中,为了管理持久化类,Hibernate将其分为了三个状态:瞬时态(Transient Object)持久态
- @Autowired使用构造函数注入public Class Outer { private Inner inner; @Autowired
- 本文实例为大家分享了Android简单的自定义标题栏,供大家参考,具体内容如下android自定义控件向来都是开发者最头疼的,但是我们要有那
- 今天在接手别人的一个项目的时候遇到一个坑,坑死我了;是一个打包的问题,好不容易我把代码写完了准备打包测试了,结果java -jar xxx.
- 一、什么是抽象工厂模式为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类。抽象工厂模式是所有形态的工厂模式中最为抽象和最具
- 问题描述在应用MyBatis时,使用对象关系映射,将对象和Aliase映射起来。在Mybatis的文档明确写出,如果你没有明确定义实体类的A
- 首先给大家介绍一文件的上传 实体类import java.sql.Timestamp; /** * * @Decription 文件上传实体
- 本文实例讲述了Android开发中Activity之间切换出现短暂黑屏的解决方法。分享给大家供大家参考,具体如下:在默认情况下,Androi
- 问题:写了一个新的dao接口,进行单元测试时提示:Initialization of bean failed; nested excepti
- 本文实例讲述了Android编程之View简单学习示例。分享给大家供大家参考,具体如下:View,是Android的一个超类,这个类几乎包含
- 在派生类中引发基类事件以下简单示例演示了在基类中声明可从派生类引发的事件的标准方法。此模式广泛应用于 .NET Framework 类库中的
- 图像滤波在opencv中可以有多种实现形式自定义滤波如使用3×3的掩模:对图像进行处理.使用函数filter2D()实现#include&l
- 视频演示:springboot+vue音乐网站摘要网络技术以及计算机的发展,网友们对网络的要求也日益长高,平常在网上听话用一大堆下载软件下载
- 一、闭包的定义。有很多不同的人都对闭包过进行了定义,这里收集了一些。# 是引用了自由变量的函数。这个函数通常被定义在另一个外部函数中,并且引
- WebFilter.javapackage com.hongyuan.route;import java.io.File;import ja