python环境opencv通过掩码实现图片叠加(MASK)
1、opencv学习中有时要完成两幅图片叠加,并且背景透明。,opencv提供了按位与或非的功能再结合MASK的使用。让叠加和ROI变得简单主要函数:cv.bitwise_and(roi, roi, mask=mask)cv.bitwise_and(pic,pic, mask=notmask)下图为生成结果


4、gray = cv.cvtColor(pic, cv.COLOR_BGR2GRAY)转灰度 然后二值化! 这些内容前面已经介绍过了。此处略过解释ret, mask = cv.threshold(gray, 150, 255, cv.THRESH_BINARY)cv.imshow("mask", mask)掩码一般是白底黑字 或黑底白字

6、分别进行roi和第二个图像进行 mask操作注意mask=maskbackimage = cv.bitwise_and(roi, roi, mask=mask)cv.imshow("backimage", backimage)注意mask=notmaskfrontpic = cv.bitwise_and(pic,pic, mask=notmask)cv.imshow("frontpic", frontpic)注意此时backimage 已经是黑字 彩色背景

7、把两幅图叠加result = cv.add(backimage, frontpic)cv.imshow("result", result)注意此时ROI区域已经ok了。
