我有一张非常大的图片,需要在上面绘制大约130个标记。这些标记的坐标存储在一个numpy数组中,需要使用cv2.drawMarker函数来绘制。
如果这显得太简单了,那么请原谅,因为我正在学习Python。这些标记基于GPS坐标,我已经将这些坐标转换为像素点,并存储在arr中(下面提供了一小部分代码)。图片大小为25000*18568。
# This file contains the marker locations (pix_lat, pix_long)
df=pd.read_csv(r'.csv', sep=',',header=0)
# Image that needs to be drawn on
img = cv2.imread(r'.jpg',1)
df1 = df[['pix_lat','pix_long']]
arr = df1.to_numpy()
cv2.drawMarker(img, tuple(arr),(0,0,255), markerType=cv2.MARKER_STAR,
markerSize=40, thickness=2, line_type=cv2.LINE_AA)
cv2.imwrite('.jpg',img)
In: arr
Out: array([[14590, 3716],
[16637, 4148],
[11074, 6578],
[17216, 4009],
当前代码在调用cv2.drawMarker函数时出错:该函数要求恰好提供两个参数,但给出了135个参数。
arr
的每一对元素调用cv2.drawMarker()
- 我不认为你可以一次性传递所有135对坐标。 - Mark Setchell