Я пытаюсь нарисовать прямоугольник на черном изображении, нас cv2.rectangle
. Вот мой код: (Это всего лишь образец, в реальном коде есть цикл ie значения x2, y2, w2, h2 изменения в цикле)OpenCV cv2.rectangle output двоичное изображение
heir = np.zeros((np.shape(image1)[0],np.shape(image1)[1]),np.uint8);
cv2.rectangle(heir,(x2,y2),(x2+w2,y2+h2),(255,255,0),5)
cv2.imshow("img",heir);
cv2.waitKey()
это дает следующий результат: Почему изображение так? Почему границы не просто линии ширины 5. Я пробовал, но я не могу понять это.
Является ли это захват экрана из imshow? Является ли исходное изображение * много * более высоким разрешением (например, 5x?), Поэтому линии теряются по мере того, как изображение снижается с дискретизацией для отображения? Что произойдет, если вы выполните эти операции с меньшим изображением? – barny
Благодарим за комментарий. Нет, это не тот случай. Это полноразмерное изображение. Я не делал никакой обработки (downsample или upsample). Это imwrite версия – Maham
, что типичные значения x2, y2, w2, h2? – barny