基于python的图像颜色替换填充(源码)

遇到的问题:

不使用阈值分割,更改特定颜色区域的颜色,例如 -> 红色数据点替换成蓝色。

解决办法:

由于数据图片不方便展示,所以随便找了张图做演示。 将图片的蓝色背景改为其他颜色。 逐一遍历每个像素点,设定像素筛选条件,例如背景是蓝色:img[i,j,0] > 200 # b通道值高,筛选过后直接替换像素颜色。 在matlab中的实现方法: 传送门:
import cv2 as cv

img = cv.imread(r.maple.png)
cv.imshow(maple, img)

h, w, ch = img.shape  # 图像的高,宽,通道数

color = [238, 104, 123]  # 新颜色,bgr
for i in range(h):
    for j in range(w):
        if img[i, j, 0] >= 200:  # 如果b通道值大于200,说明找到了目标背景色,那么就给bgr三通道赋新值
            img[i, j, 0] = color[0]
            img[i, j, 1] = color[1]
            img[i, j, 2] = color[2]
cv.imshow(newmaple, img)
cv.waitKey(0)

Result:

经验分享 程序员 微信小程序 职场和发展