Сохраненное изображение показывает только прямоугольник, созданный с помощью cv2.rectangle, а не все изображение, на котором был создан прямоугольник

#python #opencv #matplotlib

Вопрос:

При использовании этого кода:

  start_point = (centerXList[i]  16,centerYList[i]-14)
 end_point = (centerXList[i] 50,centerYList[i] 24)
 color=(255,0,0)
 x1=cv2.rectangle(x1,start_point,end_point,color)
 imshow(x1)
 plt.show()
 

Результаты imshow таковы:

изображение

Но при сохранении изображения с помощью:

save_img("./Predicted Images/abc.jpeg", x1)

В результате получается:

https://drive.google.com/file/d/1A4q1buJJk9tBWfstQccgETHe8LDEOtxX/view?usp=sharing

Я хочу сохранить изображение таким же, как показано на imshow. Как это сделать?

Заранее спасибо

Комментарии:

1. Код, которым вы поделились, работает так, как и должно быть. Проблема в том, что изображение ранее было добавлено в ваш plt . Чтобы также отобразить изображение, добавьте его перед использованием plt.imshow(img)

Ответ №1:

Вы пытались сохранить фотографию с помощью этого:

 cv2.imwrite('my_saved_image', img)
 

Комментарии:

1. Я попробовал, но ничего не вышло

Ответ №2:

Решением моей проблемы было:

 save_img("./Predicted Images/abc.jpeg", x1 * 255)