Я пытаюсь сохранить полученное изображение, используя matplotlib.pyplot
в качестве следующего кода, который работает без проблем.
import matplotlib.pyplot as plt
I = image.astype(np.uint8)
fig = plt.figure()
ax = fig.add_subplot(111)
ax.imshow(I)
plt.plot(marker_x, marker_y, color='yellow')# our circle
ax.set_title('Macula')
plt.savefig("J://uni//final project//res_image//marked_M.png")
fig.show()
вот моя сохраненная картинка plt.savefig("J://uni//final project//res_image//marked_M.png")
:
желтый круг - это plot
, и, как вы знаете, когда мы используем plt.plot
автоматически, у нас есть белое пространство вокруг основного изображения (что-то вроде поля, как вы видите на картинке), а также оси
и это мой пользовательский интерфейс tkinter:
Мне интересно, есть ли способ обрезать это раздражающее пустое пространство или сохранить изображение другим способом, чтобы избавиться от этого поля?
@Novel fig.patch.set_facecolor('black')
просто поработайте над моим pycharm, но после того, как я сохраню изображение и покажу его в графическом интерфейсе, оно не работает, и проблема все еще существует, как сказал @Halmon ниже, мы могли бы это сделать plt.savefig("J://uni//final project//res_image//marked_M.png", transparent=True)
спасибо за ответ
Вы можете использовать флаг matplotlib transparent
plt.savefig("J://uni//final project//res_image//marked_M.png", transparent=True)
Это сохранит изображение в виде файла png с прозрачным фоном.
Почему бы просто не установить цвет лица на тот же цвет, что и ваш графический интерфейс?
fig.patch.set_facecolor('black')