目前我使用以下代码将所有非黑色像素转换为白色:
def convert(self, img):
for i in range(img.shape[0]):
for j in range(img.shape[1]):
if img.item(i, j) != 0:
img.itemset((i, j), 255)
return img
如何加快速度?
答案 0 :(得分:2)
非0的所有元素都应更改为255:
a[a != 0] = 255
答案 1 :(得分:0)
如何使用PIL并制作如下函数:
def convert (self,image):
return image.convert('1')
测试代码:
from PIL import Image
import matplotlib.pyplot as plt
def convert (image):
return image.convert('1')
img = Image.open('./test.png')
plt.figure(); plt.imshow(img)
BW = convert(img)
plt.figure(); plt.imshow(BW)
plt.show()
结果:
顺便说一句,如果您需要PIL图像对象的numpy数组,您可以轻松地使用它:
matrix_of_img = numpy.asarray(img.convert('L'))