我当前的程序将向用户输出图像,并根据用户输入,根据需要重新调整图像。
长话短说,我正在尝试在图像文件中查找圆形对象。我将使用霍夫圆变换。然而,因为图像中的许多圆圈都不是“完美的圆圈”,所以我正在做一种算法来“猜测”圆圈的半径。但是,我想允许用户根据需要重新调整半径。
是否有某种方法可以要求用户输入,然后根据用户输入重新调整 imshow() 中的窗口?现在,imshow() 拒绝显示实际窗口,直到我使用 cv2.waitKey(0),此时我无法要求用户输入,直到窗口被销毁。
您可以反复调用
imshow
而不会破坏它。是的,您可能需要 waitKey
,只是不要用 0 调用它,否则它将无限期地等待。用 1(毫秒)调用它并确保图像重绘。
尝试类似:
while True:
cv2.imshow('image', img)
cv2.waitKey(1)
radius = input('Input radius')
# recalculate image with new radius here...