【发布时间】:2018-06-06 14:41:56
【问题描述】:
image = cv2.imread('black.jpg')[:,:,0] # let's just take the red channel alone for brevity
print(image[75:85,155:165]) # print middle 10x10
# output: [[0,0,0,....],...]
我想从所有像素强度中减去 1。是的,我绝对不希望 0 变成 255。我只是希望他们保持为 0。
print(image[75:85,155:165]-1)
# output: [[255,255,255,....],...]
print(np.array(image[75:85,155:165])-1)
# output: [[255,255,255,....],...]
print(np.array(image[75:85,155:165], dtype='float32')-1)
# output: [[-1.,-1.,-1.,....],...]
我可以在.clip(0,255) 之后将最后一个转换回uint8,但这感觉不是正确的做法。有没有办法直接做到这一点(没有强制转换和可能对并行处理无效的条件)?
【问题讨论】: