从数组中获取整数作为 python 中的单独变量
Getting integer from array as a separate variable in python
我正在尝试使用 opencv 查找图像的 x 和 y 坐标,这似乎工作正常。但我只想 return 一个 x 和 y 而不是 opencv 函数创建的整个数组。这就是我正在尝试的方式:
def getImageXY():
im = pyautogui.screenshot()
im.save(filePathSrc)
img_rgb = cv2.imread(filePathSrc)
template = cv2.imread(filePathToFind)
res = cv2.matchTemplate(img_rgb, template, cv2.TM_CCOEFF_NORMED)
threshold = .8
loc = np.where(res >= threshold)
x = loc[1]
y = loc[0]
return x, y
这就是我尝试分配值的地方
def main():
x, y = ImageFinder.getImageXY()
print x, y
我的预期输出是“322, 766”(只是两个单独的 x 和 y 值)
但这是我的实际输出:
[313 502 314 503 296 485 297 470 486 298 471 487 267 299 472 488 300 473
489 474 490 475]
即整个数组。
我做错了什么?在 java 中做完全相同的事情会像我期望的那样工作,但在 python...
中不会
有什么猜测吗?
谢谢
您的 loc
是二维的,这导致了您所看到的效果。
我正在尝试使用 opencv 查找图像的 x 和 y 坐标,这似乎工作正常。但我只想 return 一个 x 和 y 而不是 opencv 函数创建的整个数组。这就是我正在尝试的方式:
def getImageXY():
im = pyautogui.screenshot()
im.save(filePathSrc)
img_rgb = cv2.imread(filePathSrc)
template = cv2.imread(filePathToFind)
res = cv2.matchTemplate(img_rgb, template, cv2.TM_CCOEFF_NORMED)
threshold = .8
loc = np.where(res >= threshold)
x = loc[1]
y = loc[0]
return x, y
这就是我尝试分配值的地方
def main():
x, y = ImageFinder.getImageXY()
print x, y
我的预期输出是“322, 766”(只是两个单独的 x 和 y 值)
但这是我的实际输出: [313 502 314 503 296 485 297 470 486 298 471 487 267 299 472 488 300 473 489 474 490 475]
即整个数组。
我做错了什么?在 java 中做完全相同的事情会像我期望的那样工作,但在 python...
中不会有什么猜测吗?
谢谢
您的 loc
是二维的,这导致了您所看到的效果。