本文作者:小嗷
简书链接:https://www.jianshu.com/p/c3ac0ae2a9d8
图像的基本运算有很多种,比如两幅图像可以相加、相减、甚至可以相乘、相除(与或非、异或、与或),我们可以把相同规格的图像(数字)进行加减乘除等等,实现处理后图像的还原与合并。
dst:输出图像,src1:图像-1,src2:图像-2,scale、alpha、beta:可选的比例因子(例如:图像乘scale【50%】等于半透明图)。
(例如:multiply()函数相乘计算两个数组的每个元素的乘积。)
上述的基本操作中都属于将基础数学运算应用于图像像素的处理中,下面将着重介绍
bitwiseand、bitwiseor、bitwisexor、bitwisenot这四个按位操作函数。
bitwise_and:对二进制数据进行“与”操作,即对图像(灰度图像或彩色图像均可)每个像素值进行二进制“与”操作,1&1=1,1&0=0,0&1=0,0&0=0
bitwise_or:对二进制数据进行“或”操作,即对图像(灰度图像或彩色图像均可)每个像素值进行二进制“或”操作,1|1=1,1|0=0,0|1=0,0|0=0
bitwise_xor是对二进制数据进行“异或”操作,即对图像(灰度图像或彩色图像均可)每个像素值进行二进制“异或”操作,1^1=0,1^0=1,0^1=1,0^0=0
bitwise_not是对二进制数据进行“非”操作,即对图像(灰度图像或彩色图像均可)每个像素值进行二进制“非”操作,~1=0,~0=1
注意:这些函数都要求相加的两幅图像具有相同的尺寸,并且像素类型是相同的。
简单说说ROI,就是抠图(美称感兴趣区域ROI)。详情内容通过讲解代码
任务:实现画面叠化效果(水印或者相同规格叠化)
线性混合操作:通过在范围0到1之间改变alpha值,来对两幅图像或两段视屏(同样为(f0(x)和f1(x)))产生时间上的画面叠化效果(cross - dissolve)
步骤:感兴趣区域ROI和使用addWeighted函数进行线性混合的基础,先指定ROI,在用addWeighted对指定的ROI区域的图像进行混合操作
API文档:opencv2refman.pdf(Ctrl + F查找相关bitwise_and(),就会有它的定义和各个参数意思)
百度链接:https://pan.baidu.com/s/1xn6cTTZAGSxdAAtrIenhPw
密码:ev4g
领取专属 10元无门槛券
私享最新 技术干货