我正在通过Pillow读取图像并将其转换为numpy数组。
A = numpy.asarray(Image.open(
ImageNameA).convert("L"))
B = numpy.asarray(Image.open(
ImageNameB).convert("L"))
print A
[[255 255 255 ..., 255 255 255]
[255 255 255 ..., 255 255 255]
[255 255 255 ..., 255 255 255]
...,
[255 255 255 ..., 255 255 255]
[255 255 255 ..., 255 255 255]
[255 255 255 ..., 255 255 255]]
现在,当我对这两个numpy数组进行任何逻辑运算时,我会以“真实”的形式得到它。和'错误'
Answer = numpy.logical_xor(A,B)
print numpy.logical_xor(A,C)
[[False False False ..., False False False]
[False False False ..., False False False]
[False False False ..., False False False]
...,
[False False False ..., False False False]
[False False False ..., False False False]
[False False False ..., False False False]]
我的图像处理功能无法使用True,False ...如何以0,255(以字节为单位)的形式获取图像
答案 0 :(得分:4)
从问题标题中,我认为您打算使用的函数是实际的numpy.bitwise_xor
,它将按照您的预期输出0-255范围内的数组。
logical_xor
将所有大于1的数字视为True
,将0视为False
,并始终输出一个布尔数组(仅为0和1)。