簡體   English   中英

將輪廓另存為圖像

[英]Save contour as image

我正在嘗試轉換一個文件夾以顯示每個圖像的輪廓。 當我繪制圖像時,代碼將顯示圖像,但不會將其保存到圖像。 如何將其保存到圖像?

當前錯誤信息:

ValueError: 'arr' does not have a suitable array shape for any mode.


import matplotlib.pyplot as plt
import os
from PIL import Image

i=0
directory_in_str='C:\\directory'
directory_output='C:\\output_directory'
for file in os.listdir(directory_in_str):
        print(file)

        # read image to array
        im = array(Image.open(join(directory_in_str,file)).convert('L'))

        # show contours with origin upper left corner
        im = plt.contour(im, levels=[100], colors='black', origin='image')

        scipy.misc.imsave(directory_output +'image' + str(i) + '.jpg', im)
        i+=1

print('done')

謝謝 !

imsave函數旨在與numpy數組一起使用。

舉個例子:

import matplotlib.pyplot as plt
import numpy as np

arr = np.random.rand(10,10)
plt.imsave("test.png", arr)

在這里您要保存matplotlib圖。 如@lelouchkato的回答所述,這將使用plt.savefig函數完成。

請注意,您需要保存到現有目錄,因此您可能需要在路徑中添加一個退格\\\\

plt.savefig(directory_output +'\\image' + str(i) + '.jpg')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM