1.问题描述

在利用cv2.merge()合成H,L,S三个通道时

img_HLS2=cv2.merge((H,L,S))

出现报错

error: (-215:Assertion failed) mv[i].size == mv[0].size && mv[i].depth() == depth in function 'cv::merge

大概意思是要求参与合成的三个通道(矩阵)不仅大小要一样,而且位深度要一样。

2.解决思路

查看三个矩阵H,L,S的元素位深:

H:numpy.int8
L:numpy.uint8
S:numpy:uint8

可以看到H和L,S的元素位深不一样

3.解决办法

np.uint8(H)即可
Logo

鸿蒙生态一站式服务平台。

更多推荐