0
我编写了一个脚本来去除七个最低有效位,并且只保留灰度8位图像的每个像素的MBS。要做到这一点,我用0b10000000
掩盖每个像素,但没有得到预期的输出。如何使用cv2去除七个灰度图像的低位
import cv2
import numpy as np
imageSource = 'input.jpg'
original_img = cv2.imread(imageSource,cv2.COLOR_BGR2GRAY)
cv2.imshow("original", original_img)
result = original_img & 0b10000000
cv2.imshow("out", result)
cv2.imwrite('out.jpg',result)
cv2.waitKey(0)
cv2.destroyAllWindows()
你能描述一下这个问题吗?用0b10000000掩盖每个像素将导致有两个可能的像素值,0b10000000 = 128(中间灰色)或0(黑色)。您显示的“正确结果”似乎有两个值,255(白色)和0(黑色)。 –
COLOR_BGR2GRAY不是imread的有效模式。从[正确模式]开始阅读图像https://docs.opencv.org/3.3.0/d4/da8/group__imgcodecs.html#gga61d9b0126a3e57d9277ac48327799c80af660544735200cbe942eea09232eb822 – MFisherKDX
请将您获得的图像添加到代码中。一个问题应该包括当前的行为和期望的行为。 – klutt