Python OpenCV: 用灰色替换红色矩形框内的绿色像素
以下是 Python 代码,可以实现将图片中红色矩形框内的绿色像素替换为灰色:
import cv2
# 读入图片
img = cv2.imread('image.jpg')
# 定义红色矩形框的位置和大小
x, y, w, h = 100, 100, 200, 200
# 获取矩形框内的像素
roi = img[y:y+h, x:x+w]
# 将绿色像素替换为灰色
mask = (roi[:, :, 1] == 255) & (roi[:, :, 0] == 0)
roi[mask] = [128, 128, 128]
# 将修改后的像素放回原图
img[y:y+h, x:x+w] = roi
# 显示图片
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
在代码中,我们使用 OpenCV 库读入图片,并定义了红色矩形框的位置和大小。然后,我们使用 Numpy 数组来获取矩形框内的像素,并使用掩码来判断哪些像素是绿色的。最后,将绿色像素替换为灰色,并将修改后的像素放回原图。
最后,我们使用 OpenCV 库显示修改后的图片。
原文地址: https://www.cveoy.top/t/topic/n7vI 著作权归作者所有。请勿转载和采集!