为什么python openCV不能像我期望的那样改变背景颜色呢?

2024-04-19 21:22:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚开始使用python3.7中的opencv。你知道吗

我试图改变灰色图片的每一个彩色像素。例如,值为1،等于254的像素或值为30的像素,等于(255-30)=225等。我的代码工作正常,但有一点是错误的:我的图片背景是黑色和黑色的,我希望在执行代码后背景是白色和白色。但背景没有改变。你知道吗

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()

Tags: 代码infor图片range像素opencvcv
1条回答
网友
1楼 · 发布于 2024-04-19 21:22:08

从逻辑上看,似乎您要反转灰度图像。您可以使用image2 = 255 - image2image2 = 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()

相关问题 更多 >