You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改选中像素的颜色?用OpenCV将选定区域改为黑色的方法

修改选中像素颜色为黑色的实现方案

针对颜色阈值选中区域改黑

你当前的代码目前是通过HSV阈值筛选出蓝色区域并保留,其余区域置黑。如果需要将筛选出的蓝色区域改为黑色,直接对掩码对应位置赋值即可,无需使用bitwise_and操作:
在得到erosion二值掩码生成后,添加一行赋值代码:

# erosion中值为255的位置就是你选中的颜色区域,直接赋值为黑色
img[erosion == 255] = [0, 0, 0]

修改后的完整可运行代码如下:

import cv2
import numpy as np

img = cv2.imread("colors.jpg")
height,width = 720,720
img = cv2.resize(img,(width,height))

hsv = cv2.cvtColor(img,cv2.COLOR_BGR2HSV)

lower_range = np.array([100,50,50])
upper_range = np.array([150,255,255])

kernel = np.ones((5,5),np.uint8)
mask = cv2.inRange(hsv, lower_range, upper_range)
erosion = cv2.erode(mask,kernel,iterations = 1)
# 新增:选中区域置黑
img[erosion == 255] = [0,0,0]

cv2.imshow("result",img)

cv2.waitKey(0)
# 注意原代码此处缺少括号,补全后才能正常销毁窗口
cv2.destroyAllWindows()

针对手动框选矩形区域改黑

如果你需要自定义框选一个矩形区域改为黑色,直接对图像ROI赋值即可,坐标规则为img[y轴起始:y轴结束, x轴起始:x轴结束],示例:

# 示例:将y坐标200到400,x坐标100到300的矩形区域置黑
img[200:400, 100:300] = [0,0,0]

内容的提问来源于stack exchange,提问作者Lynoix

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 13:51:01