python添加图片输出框_一起学python-opencv八(鼠标操作,给图像加边框,录制屏幕和图像中绘制图形)...

opencv鼠标操作上一讲我说要结合pyqt是因为我以为opencv没有鼠标操作,但是想想就不太可能,因为前面都用过滑条了嘛,那么我随便找了一下,opencv本身就有鼠标事件,不需要在借助pyqt了。我们重点要学习一个函数,就是setMouseCallback。参考了https://blog.csdn.net/akadiao/article/details/80312254和https://ope...
摘要由CSDN通过智能技术生成

opencv鼠标操作

上一讲我说要结合pyqt是因为我以为opencv没有鼠标操作,但是想想就不太可能,因为前面都用过滑条了嘛,那么我随便找了一下,opencv本身就有鼠标事件,不需要在借助pyqt了。

我们重点要学习一个函数,就是setMouseCallback。参考了https://blog.csdn.net/akadiao/article/details/80312254

和https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_gui/py_mouse_handling/py_mouse_handling.html

opencv里面用的都是回调函数直接写在事件的函数参数里面了,而pyqt是先要发一个信号,然后connect到某一个函数。不过相同点是都会自动传一些参数过去,setMouseCallback传过去的参数有x,y(这个应该是一个像素作为单位的吧),有事件的类型,flags是一些事件标志,param就是上面输入参数的那个param,默认是None。

代码里面比较重要的是ix,iy要用全局变量,这是因为鼠标按下要进一次函数,松开还有再进一次,而函数里面的不加特殊声明的话都是局部变量,局部变量在每一次函数调用结束都要释放空间。所以要声明为全局变量。注意一定不能是waitKey(0),因为这样永远都不会刷新图片了。

我们就先来复现一下:参数得是一个不少才行

这个过程是在矩形的一个角按住鼠标,然后不松开,直到另一个对角,才松开,于是一个矩形就出来了。里面用到了一个画矩形的命令,img就是要在这个图片上显示,也就是这个结果是影响了img的像素的值的,pt1和pt2是对角线上的两点,color就是颜色,是BGR格式的,thickness就是线宽了。这个程序要按esc才能退出。如果线宽是负整数(线宽是小数会报错的)那么就会填充内部,这个下一个例子正好是。不过让我觉得不可思议的是

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值