python根据坐标点画线_拖动鼠标绘制一条线,并在opencv中获得线端点的坐标Python...
只需使用其他事件。
这里是一个快速肮脏的解决方案:
import numpy as np
import cv2
btn_down = False
def get_points(im):
# Set up data to send to mouse handler
data = {}
data['im'] = im.copy()
data['lines'] = []
# Set the callback function for any mouse event
cv2.imshow("Image", im)
cv2.setMouseCallback("Image", mouse_handler, data)
cv2.waitKey(0)
# Convert array to np.array in shape n,2,2
points = np.uint16(data['lines'])
return points, data['im']
def mouse_handler(event, x, y, flags, data):
global btn_down
if event == cv2.EVENT_LBUTTONUP and btn_down:
#if you release the button, finish the line
btn_down = False
data['lines'][0].append((x, y)) #append the seconf point
cv2.circle(data['im'], (x, y), 3, (0, 0, 255),5)
cv2.line(data['im'], data['lines'][0][0], data['lines'][0][1], (0,0,255), 2)
cv2.imshow("Image", data['im'])
elif event == cv2.EVENT_MOUSEMOVE and btn_down:
#thi is just for a ine visualization
image = data['im'].copy()
cv2.line(image, data['lines'][0][0], (x, y), (0,0,0), 1)
cv2.imshow("Image", image)
elif event == cv2.EVENT_LBUTTONDOWN and len(data['lines']) < 2:
btn_down = True
data['lines'].insert(0,[(x, y)]) #prepend the point
cv2.circle(data['im'], (x, y), 3, (0, 0, 255), 5, 16)
cv2.imshow("Image", data['im'])
# Running the code
img = cv2.imread('C://image.jpg', 1)
pts, final_image = get_points(img)
cv2.imshow('Image', final_image)
print pts
cv2.waitKey(0)
让我知道如果THI是你脑子里想的是什么。
python根据坐标点画线_拖动鼠标绘制一条线,并在opencv中获得线端点的坐标Python...相关推荐
- python自动交易源码_【硬核福利】量化交易神器talib中28个技术指标的Python实现(附全部源码)...
内容首发 乐学偶得(http://lexueoude.com) 公众号: 乐学Fintech 用代码理解分析解决金融问题 之前跟大家分享过用Python调用talib实现技术指标分析,但是许多小伙伴有 ...
- python量化策略源码_【硬核福利】量化交易神器talib中28个技术指标的Python实现(附全部源码)...
内容首发 乐学偶得(http://lexueoude.com) 公众号: 乐学Fintech 用代码理解分析解决金融问题 之前跟大家分享过用Python调用talib实现技术指标分析,但是许多小伙伴有 ...
- js百度地图鼠标绘制工具条库
本篇文章是介绍百度地图鼠标绘制工具条库基本使用 百度地图的覆盖物的编辑类参考:[鼠标绘制工具条库](http://api.map.baidu.com/library/DrawingManager/1. ...
- 百度地图之鼠标绘制工具条库(开源库)
百度地图开发常用网站 1.百度地图开放平台 http://lbsyun.baidu.com/ 2.百度地图 Javascript API JavaScript API v3.0 http://lbsy ...
- opencv中伪彩色applyColorMap函数(C++ / Python)
opencv中伪彩色applyColorMap函数(C++ / Python) 翻译 2017年06月23日 15:34:12 标签: 1654
- autocad.net 画多段线_解决AutoCAD2014绘制多段线的详细教程--系统之家
AutoCAD2014如何绘制多线段?多段是由相连的直线和圆弧曲线组成的, 在直线和圆弧曲线之间可进行自由切换.用户可以设置多段线的宽度,也可以在不同的线段中设置不同的线宽.此外, 线段的始末端点也可 ...
- java 计算移动平均线_基于Java语言开发的个性化股票分析技术:移动平均线(MA)...
基于Java语言开发的个性化股票分析技术:移动平均线(MA) 基于 Java 语言开发的个性化股票分析技术:移动平均线(MA)移动平均线(MA)是以道·琼斯的"平均成本概念"为理论 ...
- opencv中匹配点对的坐标提取
在opencv中,特征检测.描述.匹配都有集成的函数.vector<DMatch> bestMatches;用来存储得到的匹配点对.那么如何提取出其中的坐标呢? int index1, i ...
- python 画k线_使用matplotlib绘制k线图
利用matplotlib.finance绘制K线图时使用关键要点 绘制k线图的核心语句是: import matplotlib.finance as mpf mpf.candlestick_ochl( ...
最新文章
- [Js-开发常识]为什么定义实体类属性建议用 Ineger 而不是 int
- 美国虚拟主机大打安全牌争抢国内高端外贸主机市场
- 比特币全节点(bitcoind) eth 全节点
- 2.设计模式-桥接模式
- Bugfree 搭建
- c语言实验报告1华科,华科操作系统实验报告
- 计算机毕设分词,基于词表的中文分词算法
- html网页设计作业代码——家乡介绍-南京(7页) HTML+CSS+JavaScript html网页设计期末大作业_网页设计平时作业
- 深入探究synchronize锁机制
- nssa和stub_实验4 OSPF的特殊区域STUB和NSSA
- K8s 中 iptables 和ipvs 的理解
- 由一道简单的图片隐写题总结思路
- 我们如何造红色敞篷跑车
- 面试总结——商汤科技自动驾驶研究员
- 图片的降噪处理 java_OpenCV去除图像中的噪声
- 统计学习方法 学习笔记(1)统计学习方法及监督学习理论
- 【环信IM集成指南】Web端常见问题整理
- ftp-主动模式(PORT)和被动模式(PASV)
- 开源机器学习流水线(Pipeline)工具调研(MLOps)
- 配置并启动MSDTC
热门文章
- Linux 下安装和配置git
- 分支管理---分支管理策略
- centos7安装minikube
- Android Looper Message MessageQueue Handler
- 今日的你,上班了吗?
- no.5_得到4升的水
- leetcode 211. Design Add and Search Words Data Structure | 211. 添加与搜索单词 - 数据结构设计(Java)
- 【Java数据库】使用JDBC操作MySQL数据库、Batch批处理 、事务的概念
- JVM系列之:详解java object对象在heap中的结构
- 理解分布式一致性:Raft协议