繁体   English   中英

Python-NumPy数组逻辑XOR操作按字节进行

[英]Python - NumPy Array Logical XOR operation byte wise

我正在通过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]]

现在,当我对这2个numpy数组执行任何逻辑运算时,我会以“ True”和“ False”的形式获取它

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(以字节为单位)形式的图像

从问题标题来看,我想您打算使用的函数实际上是numpy.bitwise_xor否则它将按您的期望输出0-255范围内的数组。

logical_xor将大于1的所有数字视为True ,将0视为False并始终输出布尔数组(仅0和1)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM