本文主要是介绍将黑白图的白色部分叠加在彩色原图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
彩色原图:
黑白图:
合成后:
代码:
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) # 替换为保存路径
这篇关于将黑白图的白色部分叠加在彩色原图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!