只需使用其他事件。

这里是一个快速肮脏的解决方案:

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...相关推荐

  1. python自动交易源码_【硬核福利】量化交易神器talib中28个技术指标的Python实现(附全部源码)...

    内容首发 乐学偶得(http://lexueoude.com) 公众号: 乐学Fintech 用代码理解分析解决金融问题 之前跟大家分享过用Python调用talib实现技术指标分析,但是许多小伙伴有 ...

  2. python量化策略源码_【硬核福利】量化交易神器talib中28个技术指标的Python实现(附全部源码)...

    内容首发 乐学偶得(http://lexueoude.com) 公众号: 乐学Fintech 用代码理解分析解决金融问题 之前跟大家分享过用Python调用talib实现技术指标分析,但是许多小伙伴有 ...

  3. js百度地图鼠标绘制工具条库

    本篇文章是介绍百度地图鼠标绘制工具条库基本使用 百度地图的覆盖物的编辑类参考:[鼠标绘制工具条库](http://api.map.baidu.com/library/DrawingManager/1. ...

  4. 百度地图之鼠标绘制工具条库(开源库)

    百度地图开发常用网站 1.百度地图开放平台 http://lbsyun.baidu.com/ 2.百度地图 Javascript API JavaScript API v3.0 http://lbsy ...

  5. opencv中伪彩色applyColorMap函数(C++ / Python)

    opencv中伪彩色applyColorMap函数(C++ / Python) 翻译 2017年06月23日 15:34:12 标签: 1654

  6. autocad.net 画多段线_解决AutoCAD2014绘制多段线的详细教程--系统之家

    AutoCAD2014如何绘制多线段?多段是由相连的直线和圆弧曲线组成的, 在直线和圆弧曲线之间可进行自由切换.用户可以设置多段线的宽度,也可以在不同的线段中设置不同的线宽.此外, 线段的始末端点也可 ...

  7. java 计算移动平均线_基于Java语言开发的个性化股票分析技术:移动平均线(MA)...

    基于Java语言开发的个性化股票分析技术:移动平均线(MA) 基于 Java 语言开发的个性化股票分析技术:移动平均线(MA)移动平均线(MA)是以道·琼斯的"平均成本概念"为理论 ...

  8. opencv中匹配点对的坐标提取

    在opencv中,特征检测.描述.匹配都有集成的函数.vector<DMatch> bestMatches;用来存储得到的匹配点对.那么如何提取出其中的坐标呢? int index1, i ...

  9. python 画k线_使用matplotlib绘制k线图

    利用matplotlib.finance绘制K线图时使用关键要点 绘制k线图的核心语句是: import matplotlib.finance as mpf mpf.candlestick_ochl( ...

最新文章

  1. [Js-开发常识]为什么定义实体类属性建议用 Ineger 而不是 int
  2. 美国虚拟主机大打安全牌争抢国内高端外贸主机市场
  3. 比特币全节点(bitcoind) eth 全节点
  4. 2.设计模式-桥接模式
  5. Bugfree 搭建
  6. c语言实验报告1华科,华科操作系统实验报告
  7. 计算机毕设分词,基于词表的中文分词算法
  8. html网页设计作业代码——家乡介绍-南京(7页) HTML+CSS+JavaScript html网页设计期末大作业_网页设计平时作业
  9. 深入探究synchronize锁机制
  10. nssa和stub_实验4 OSPF的特殊区域STUB和NSSA
  11. K8s 中 iptables 和ipvs 的理解
  12. 由一道简单的图片隐写题总结思路
  13. 我们如何造红色敞篷跑车
  14. 面试总结——商汤科技自动驾驶研究员
  15. 图片的降噪处理 java_OpenCV去除图像中的噪声
  16. 统计学习方法 学习笔记(1)统计学习方法及监督学习理论
  17. 【环信IM集成指南】Web端常见问题整理
  18. ftp-主动模式(PORT)和被动模式(PASV)
  19. 开源机器学习流水线(Pipeline)工具调研(MLOps)
  20. 配置并启动MSDTC

热门文章

  1. Linux 下安装和配置git
  2. 分支管理---分支管理策略
  3. centos7安装minikube
  4. Android Looper Message MessageQueue Handler
  5. 今日的你,上班了吗?
  6. no.5_得到4升的水
  7. leetcode 211. Design Add and Search Words Data Structure | 211. 添加与搜索单词 - 数据结构设计(Java)
  8. 【Java数据库】使用JDBC操作MySQL数据库、Batch批处理 、事务的概念
  9. JVM系列之:详解java object对象在heap中的结构
  10. 理解分布式一致性:Raft协议