擅长:python、mysql、java
<p>可以使用numpy,将图像转换为数组,查找所有非空的列和行,然后从中创建图像:</p>
<pre><code>import Image
import numpy as np
image=Image.open('L_2d.png')
image.load()
image_data = np.asarray(image)
image_data_bw = image_data.max(axis=2)
non_empty_columns = np.where(image_data_bw.max(axis=0)>0)[0]
non_empty_rows = np.where(image_data_bw.max(axis=1)>0)[0]
cropBox = (min(non_empty_rows), max(non_empty_rows), min(non_empty_columns), max(non_empty_columns))
image_data_new = image_data[cropBox[0]:cropBox[1]+1, cropBox[2]:cropBox[3]+1 , :]
new_image = Image.fromarray(image_data_new)
new_image.save('L_2d_cropped.png')
</code></pre>
<p>结果看起来像
<a href="https://i.stack.imgur.com/bwkWt.png" rel="noreferrer"><img src="https://i.stack.imgur.com/bwkWt.png" alt="cropped image"/></a></p>
<p>如果有什么不清楚的,尽管问。</p>