这是一段基于 OpenCV 库的 Python 代码,实现了将图像中蓝绿色线条替换为周围像素颜色的功能。

import cv2
import numpy as np

# 加载图像
img = cv2.imread('example.png')

# 定义蓝绿色的 HSV 范围
lower_blue = np.array([90, 50, 50])
upper_blue = np.array([130, 255, 255])

# 将图像转换为 HSV 颜色空间
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)

# 通过 HSV 范围获得蓝绿色掩码
mask = cv2.inRange(hsv, lower_blue, upper_blue)

# 将掩码转换为三通道图像
mask = cv2.cvtColor(mask, cv2.COLOR_GRAY2BGR)

# 通过掩码获取蓝绿色部分的像素值
blue_green_pixels = cv2.bitwise_and(img, mask)

# 获取非蓝绿色部分的像素值
not_blue_green_pixels = cv2.bitwise_and(img, cv2.bitwise_not(mask))

# 定义卷积核
kernel = np.ones((5, 5), np.float32) / 25

# 对非蓝绿色部分进行均值滤波
filtered_pixels = cv2.filter2D(not_blue_green_pixels, -1, kernel)

# 将蓝绿色部分和滤波后的非蓝绿色部分合并
result = cv2.bitwise_or(blue_green_pixels, filtered_pixels)

# 显示结果
cv2.imshow('Original Image', img)
cv2.imshow('Result', result)
cv2.waitKey(0)
cv2.destroyAllWindows()

执行以上代码后,会显示原始图像和处理后的结果图像。其中,蓝绿色线条被替换为了周围像素的颜色。

Python OpenCV 代码:将图像中的蓝绿色线条替换为周围像素颜色

原文地址: https://www.cveoy.top/t/topic/nKeo 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录