在图像上查找点坐标

2024-04-24 02:50:37 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

我有个问题。若我对图形使用plt.show(),那个么列表中的所有点都有坐标。但当我将此图形保存为图像并使用cv2 lib显示时,所有点坐标都会更改

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

Graphic

  • 例如:在这张图上你可以看到(1,4)点。若我将这个图形保存为一个图像,那个么这个点在图像上得到一个(104305)坐标
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)


Tags: 图像import图形列表pngasnp绘制
1条回答
网友
1楼 · 发布于 2024-04-24 02:50:37

我想你把自己弄糊涂了

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

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

相关问题 更多 >