Python学习(二十一)——使用matplotlib交互绘图

加载图片,点击左键选中图片上的点并绘出横轴纵轴垂线,确定后点击右键打印出当前坐标:

#!/usr/bin/python
# coding:utf-8
from matplotlib import pyplot as plt
import cv2

def on_press(event):
    if event.button==1:
        ax.scatter(event.xdata, event.ydata)
        plt.plot([event.xdata, event.xdata], [event.ydata, 600])
        plt.plot([event.xdata, 0], [event.ydata, event.ydata])
        fig.canvas.draw()
    elif event.button==3:
        print("x,y=",event.xdata, event.ydata)
if __name__ == "__main__":
    img = cv2.imread('01.png')
    cv2.imshow("src", img)
    fig = plt.figure()
    fig.canvas.mpl_connect("button_press_event", on_press)
    ax = fig.add_subplot(111)
    ax.imshow(img)
    plt.axis("off")
    plt.show()

输出:
原图01.png:
Python学习(二十一)——使用matplotlib交互绘图_第1张图片
点击左键选点,并绘出横轴纵轴垂线:
Python学习(二十一)——使用matplotlib交互绘图_第2张图片
点击右键输出当前点的坐标:
(‘x,y=’, 501.27130681818176, 201.48636363636365)

你可能感兴趣的:(Python)