我刚开始使用python3.7中的opencv。
我正在尝试更改灰色图片的每个彩色像素。例如,值1,等于254的像素或值30等于(255-30)= 225的像素,依此类推。我的代码工作正常,但是有一个错误:我图片的背景是黑色和黑色,我希望شfter在执行代码时将背景变白。但背景不会改变。
import cv2 as cv
img2 = cv.imread('2.JPG')
print(img2.shape)
image2 = img2[0::2, 0::2]
for i in range(image2.shape[0]):
for j in range(image2.shape[1]):
for k in range(256):
if image2[i, j, 2] == k:
image2[i, j] = 255 - k
cv.imwrite('img2.JPG', image2)
cv.imshow('img2', image2)
cv.waitKey()
最佳答案
从逻辑上看,您似乎要反转灰度图像。您可以使用image2 = 255 - image2
或image2 = cv2.bitwise_not(image2)
。
import cv2 as cv
img2 = cv.imread('2.jpg', 0)
image2 = img2[0::2,0::2] #downsampling
image2 = 255 - image2
# image2 = cv.bitwise_not(image2)
cv.imwrite('img2.JPG', image2)
cv.imshow('img2', image2)
cv.waitKey()
关于python - 为什么python openCV不按我期望的方式更改背景颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56737344/