在图像处理中有两类最重要的基础操作分别是图像点操作与块操作,简单点说图像点操作就是图像每个像素点的相关逻辑与几何运算、块操作最常见就是基于卷积算子的各种操作、实现各种不同的功能。今天小编就跟大家一起学习OpenCV中图像点操作相关的函数与应用场景。几何运算包括加、减、乘、除,逻辑运算包括与、或、非、异或。
准备工作:
选择两张大小一致的图像如下、加载成功以后显示如下:
相关代码如下:
-加操作:
效果显示如下:
就可以看到一轮明月就会出现在美女图片的右上方。
-减操作
效果显示如下:
-乘操作:
创建一张空白图像大小与类型跟美女图片相同,每个像素值为2。跟输入的src1图像相乘,结果显示如下:
-除法操作
创建一张空白图像大小与类型跟美女图片相同,每个像素值为2。跟输入的src1图像相除,结果显示如下:
-基于权重加法
其中参数alpha=1.5、参数beta=0.5,此函数灵活运用可以实现不同的效果,当参数alpha=beta=0.5表示混合权重是均值,我们选择alpha=1.5表示要混合之后的图像更加的亮。混合叠加之后效果显示如下:
此外通过图像与黑色背景图像实现权重混合叠加,赋值重参数值alpha当小于1时候图像变暗、大于1的时候图像变亮。
逻辑非操作
逻辑非操作本质是图像取反操作对于BGR的图像逻辑非操作等价于对每个像素点每个通道使用255减去对应的像素值,实现代码如下:
等价于下面的代码
执行效果如下:
逻辑异或操作
通过逻辑异或操作同样可以实现上述取反操作效果、首先要创建一张纯白色的空白图片、输入图像src1美女图像大小与类型一致。然后通过美女图片与纯白色图片之间的异或操作就得到了上述取反效果。代码实现如下:
效果显示如下:
最后给大家放个大招,学习利用逻辑操作与基本的形态学腐蚀操作实现二值图像骨架提取的综合运用。首先看一下效果:
上面是输入二值图像,下图是提取到的文字骨架。看了效果以后我们再来说一下相关原理与步骤:
1.图像灰度与二值化
2.骨架提取 - 利用腐蚀操作与逻辑操作实现骨架提取
相关代码与各步骤解释如下:
主要是利用腐蚀实现骨架提取,然后每次对腐蚀之后的结果保留,作为下一次计算的输入,通过两次腐蚀不同得到骨架、最终实现骨架提取。
总结与应用场景:
图像的加减乘除操作在用OpenCV图像处理时候经常会用到,应用场景最常见就是调整图像亮度、权重加法可以实现两张图像混合。逻辑运算在图像二值化运行时候经常用到,可以得到差异化图像。