Python OpenCV使用图像的中心坐标列表绘制多个圆
首先,我不确定是否应该使用pandas或numpy来读取csv文件中的坐标列表? 第二,当我尝试其中一个时,我被OpenCV函数cv2.circle(图像,(x,y),25,(0255,0))卡住了,原因是(x,y)只接受单个整数,另一个原因是它只接受这个函数的单个整数!我的问题是这张图片有多个坐标,另一个问题是我有浮点数Python OpenCV使用图像的中心坐标列表绘制多个圆,python,pandas,numpy,opencv,Python,Pandas,Numpy,Opencv,首先,我不确定是否应该使用pandas或numpy来读取csv文件中的坐标列表? 第二,当我尝试其中一个时,我被OpenCV函数cv2.circle(图像,(x,y),25,(0255,0))卡住了,原因是(x,y)只接受单个整数,另一个原因是它只接受这个函数的单个整数!我的问题是这张图片有多个坐标,另一个问题是我有浮点数 import numpy as np from PIL import Image import cv2 import pandas as pd import math dfa
import numpy as np
from PIL import Image
import cv2
import pandas as pd
import math
dfa = pd.read_csv("filter_14.csv")
image = cv2.imread("image_1602.png")
x = dfa['project_image_X'].astype(int)
y = dfa['project_image_Y'].astype(int)
cv2.circle(image,(x,y),25,(0,255,0))
cv2.imshow('test image', image)
cv2.waitKey(0)**
这是错误消息:
回溯(最近一次呼叫最后一次):
文件“image_print.py”,第23行,在
cv2.圆(图像,(x,y),25,(0255,0))
包装器中的文件“/usr/local/lib/python3.6/dist-packages/pandas/core/series.py”,第131行
raise TypeError(“无法将序列转换为”{0}”。格式(str(converter)))
TypeError:无法将序列转换为如果没有csv文件的内容,很难说清楚,但看起来您正在传递整个序列以绘制一个圆,而不是一个(x,y)值对。 尝试循环遍历数据帧中的所有值:
import numpy as np
from PIL import Image
import cv2
import pandas as pd
import math
dfa = pd.read_csv("filter_14.csv")
image = cv2.imread("image_1602.png")
x = dfa['project_image_X'].astype(int)
y = dfa['project_image_Y'].astype(int)
for idx in dfa.index:
x, y = dfa.loc[idx, ['project_image_X', 'project_image_Y']]
cv2.circle(image,(x,y),25,(0,255,0))
cv2.imshow('test image', image)
cv2.waitKey(0)**
如果问题仍然存在,请查看csv文件的示例。请不要截图。您的问题,代码为文本。谢谢@CarlosMelus,我通过两次分别提取数据来解决这个问题,但我也会尝试您的方法。。。谢谢