彩色原图:
黑白图:
合成后:
代码:
import cv2
import numpy as np
# 读取原图和轮廓线条图
original_img = cv2.imread('..\\IMGS\\pp.png') # 替换为原图路径
contour_img = cv2.imread('..\\IMGS\\pp_edge.png', cv2.IMREAD_GRAYSCALE) # 替换为轮廓图路径
# 创建一个同样大小的全黑三通道图像
contour_rgb_img = np.zeros_like(original_img)
print(contour_rgb_img[0][0])
# 找到轮廓图中所有的白线(轮廓线),并在 RGB 图像中对应位置上赋值为绿色(0, 255, 0)
contour_rgb_img[contour_img == 255] = [0, 255, 0] # 将白色变为绿色
# 将绿色的轮廓叠加到原图上
result_img = cv2.addWeighted(original_img, 1, contour_rgb_img, 1, 0)
# 显示结果
cv2.imshow("Overlay Contour on Original", result_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
# 若需要保存结果图像
cv2.imwrite("path_to_save_result_image.jpg", result_img) # 替换为保存路径