Sam*_*fer 12 python opencv vision computer-vision
我正在尝试在图像顶部可视化边界框。
我的代码:
color = (255, 255, 0)
thickness = 4
x_min, y_min, x_max, y_max = bbox
cv2.rectangle(img, (x_min, y_min), (x_max, y_max), color, thickness=thickness)
Run Code Online (Sandbox Code Playgroud)
我得到
TypeError: Argument given by name ('thickness') and position (4)
即使我通过厚度位置上,我得到一个不同的回溯:
cv2.rectangle(img, (x_min, y_min), (x_max, y_max), color, thickness)
Run Code Online (Sandbox Code Playgroud)
加注 TypeError: expected a tuple.
Sam*_*fer 16
您需要确保您的边界坐标是整数。
x_min, y_min, x_max, y_max = map(int, bbox)
cv2.rectangle(img, (x_min, y_min), (x_max, y_max), color, thickness)
Run Code Online (Sandbox Code Playgroud)
无论是调用cv2.rectangle
will 工作。
当将坐标点作为列表传递时出现此错误,如下所示:
start_point = [0, 0]
end_point = [10, 10]
cv2.rectangle(image, start_point, end_point, color, thickness=1)
Run Code Online (Sandbox Code Playgroud)
将它们作为元组传递解决了问题:
cv2.rectangle(image, tuple(start_point), tuple(end_point), color, thickness=1)
Run Code Online (Sandbox Code Playgroud)