Python 将图像转换为0,1个文本

Python 将图像转换为0,1个文本,python,image,text,binary,python-imaging-library,Python,Image,Text,Binary,Python Imaging Library,我需要将图像转换为只包含0和1的文本或图像。有没有办法通过编程实现这一点,最好是在Python上 以下是我的尝试: 步骤1:打开图像: from PIL import Image srcImage = Image.open("src.jpg") grayImage = srcImage.convert('L') binarizedImage = grayImage.point(lambda x: 0 if x<128 else 255, '1') 第2步:对图像进行灰度缩放: fr

我需要将图像转换为只包含0和1的文本或图像。有没有办法通过编程实现这一点,最好是在Python上

以下是我的尝试:

步骤1:打开图像:

from PIL import Image
srcImage = Image.open("src.jpg")
grayImage = srcImage.convert('L')
binarizedImage = grayImage.point(lambda x: 0 if x<128 else 255, '1')

第2步:对图像进行灰度缩放:

from PIL import Image
srcImage = Image.open("src.jpg")
grayImage = srcImage.convert('L')
binarizedImage = grayImage.point(lambda x: 0 if x<128 else 255, '1')

步骤3:对图像进行二值化:

from PIL import Image
srcImage = Image.open("src.jpg")
grayImage = srcImage.convert('L')
binarizedImage = grayImage.point(lambda x: 0 if x<128 else 255, '1')

binarizedImage=grayImage.point(lambda x:0,如果x您可以为此使用numpy库

from PIL import Image
from scipy.ndimage import zoom
import numpy as np
srcImage = Image.open("src.jpg")
grayImage = col.convert('L')
array = np.array(grayImage)
array = zoom(array, 310/174)
np.savetxt("binarized.txt", array<128, fmt="%d")
从PIL导入图像
从scipy.ndimage导入缩放
将numpy作为np导入
srcImage=Image.open(“src.jpg”)
grayImage=col.convert('L')
数组=np.数组(灰度图像)
阵列=缩放(阵列,310/174)

np.savetxt(“binarized.txt”,arrayYou可以使用
numpy.array(image)
将图像从
PIL.image
转换为
numpy.array
,然后使用应用lambda(如果您想将其重新转换为图像,)(如果这对您有帮助,我可以根据此评论回答帖子)谢谢,我会检查这一点以确保它是否有效。如果您将其作为答案发布,我会很高兴,这样我就可以接受,让其他人更容易找到类似条件的解决方案。您可以添加
Image.fromarray()
解决方案如果他想要一张图像而不是
.txt
,但是获取二值图像的方法是有问题的。+1,它可以工作,但白点表示为1,而黑点表示为0。我可以补充它们。第二部分呢?将图像保存为较大的0和1图像?我忘记了插值。我编辑了响应并添加了这个陡峭的值。您应该提供有效的标量。同时将
array>128
反向为
array<128
(我不确定您是否需要
,非常感谢,现在不需要补充。:)