繁体   English   中英

在图像上查找点坐标

[英]Find point coordinates on image

我创建了随机点并添加了一个列表这些点加倍。 然后我绘制图形并保存为图像。

我可以使用以下代码从一点到另一点画一条线: cv2.line(img=result,pt1=,pt2=,color=(0,255,255),thickness=5)

我那里有问题。 如果我将 plt.show() 用于图形,我在列表中有所有点坐标。 但是当我将此图形保存为图像并使用 cv2 lib 显示时,所有点坐标都会发生变化。

  • 如何在图像上找到这些点坐标?

形象的

  • 例如:在此图形上,您可以看到 (1,4) 点。 如果我将此图形保存为图像,则该点在图像上获得 (104, 305) 坐标。
import numpy as np
import random
import matplotlib.pyplot as plt
import cv2

points = np.random.randint(0, 9, size=(18,2))
print(points)
plt.plot(points[:,0], points[:,1], '.',color='k')

plt.savefig("graphic.png",bbox_inches="tight")
result = cv2.imread("graphic.png")


cv2.imshow("Graphic",result)

我认为你在混淆自己。

  • 您的 x,y 坐标从图像的左下角开始,首先具有x坐标并假设图像为 9 像素宽。

  • OpenCV存储相对于左上角的点,首先有y坐标并参考数百像素宽的图像。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM