因为最近研究光度立体算法涉及图像融合问题,本文是自己学习后加入自己深入理解的总结记录,方便自己以后查看。
如何在法相量图、相对高度图和平均融合图合成后快速简单的融合出自己想要的效果图。
1、单通道图像补偿和图像融合
图像补偿主要利用矩阵变换,图像融合利用cv2.merge()来做图像通道的合并
# 算子类
class ImgThreshMerge(OperatorBase):
def __init__(self):
super(ImgThreshMerge, self).__init__()
# 算⼦类的公开成员变量会被认为是该⼯具的算⼦参数
self.blue_thresh = 0 # 类型为int【-255,255】
self.green_thresh = 0 # 类型为int【-255,255】
self.red_thresh = 0 # 类型为int【-255,255】
def execute(self, b_img, g_img, r_img):
assert isinstance(b_img, GrayImage), "input image type error"
assert isinstance(g_img, GrayImage), "input image type error"
assert isinstance(r_img, GrayImage), "input image type error"
# 各通道图片加补偿值
if (self.blue_thresh >= 0):
b_img = b_img + self.blue_thresh
else:
b_img = b_img - abs(self.blue_thresh)
if (self.green_thresh >= 0):
g_img = g_img + self.green_thresh
else:
g_img = g_img - abs(self.green_thresh)
if (self.red_thresh >= 0):
r_img = r_img + self.red_thresh
else:
r_img = r_img - abs(self.red_thresh)
# 通道融合
img_merge = cv2.merge([b_img, g_img, r_img])
result = ImgThreshMergeResult()
result.output_merge_image = ColorImage(img_merge)
return result
2、调试平台设计
在现有的算法平台添加该算法模块,这样融合调试效果简单快速
图像融合——溢出问题处理链接:图像融合(二)__解决阈值溢出问题-CSDN博客
图像融合CUDA并行加速链接:图像融合(三)__C++和CUDA做加速处理-CSDN博客