我是靠谱客的博主 友好酸奶,最近开发中收集的这篇文章主要介绍OpenCV之图像运算,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

© Fu Xianjun. All Rights Reserved

目录

一. 图像算术运算

二. 实现PS:图像调整

三. 图像逻辑运算

四. 隐藏的秘密:数字水印

1.图像的加减乘除

针对图像的加法运算、位运算都是比较基础的运算。但是,很多复杂的图像处理功能正是借助这些基础的运算来完成的。所以,牢固掌握基础操作,对于更好地实现图像处理是非常有帮助的。本章简单介绍了加法运算、位运算,并使用它们实现了位平面分解、图像异或加密、数字水印、脸部打码/解码等实例

如果两个图像对应像素值的和小于或等于255,则直接相加得到运算结果。例如,像素值28和像素值36相加,得到计算结果64

如果两个图像对应像素值的和大于255,则将运算结果对256取模。例如255+58=313,大于255,则计算(255+58)% 256= 57,得到计算结果57

当然,上述公式也可以简化为a + b = mod(a + b,256),在运算时无论相加的和是否大于255,都对数值256取模

                                           加法

                                           减法

                                          乘法

                                         除法

2.实现PS:图像调整

所谓图像加权和,就是在计算两幅图像的像素值之和时,将每幅图像的权重考虑进来,可以用公式表示为:

dst = saturate(src1xa +src2xβ+r)

式中,saturateO表示取饱和值(最大值)。图像进行加权和计算时,要求src1和src2必须大小、类型相同,但是对具体是什么类型和通道没有特殊限制。它们可以是任意数据类型,也可以有任意数量的通道(灰度图像或者彩色图像),只要二者相同即可。

OpenCV中提供了函数cv2.addWeighted0,用来实现图像的加权和(混合、融合),该函数的语法格式为:

dst-cv2. addWeighted(srcl, alpha, src2, beta, gamma)

3.图像逻辑运算

逻辑运算是一种 非常重要的运算方式,图像处理过程中经常要按照位进行逻辑运算,本节介绍OpenCV中的按位逻辑运算,简称位运算

常见的位运算函数:

cv2.bitwise and(): 按位与

cv2.bitwise or():按位或

cv2.bitwise xor():按位异或

cv2.bitwise_ not():按位取反

4. 隐藏的秘密:数字水印

这种信息隐藏也被称为数字水印,通过该方式可以实现信息隐藏、版权认证、身份认证等功能。例如,如果嵌入载体图像内的信息是秘密信息,就实现了信息隐藏:如果嵌入载体图像内的信息是版权信息,就能够实现版权认证:如果嵌入载体图像内的信息是身份信息,就可以实现数字签名,等等。所以,被嵌入载体图像内的信息也被称为数字水印信息。

数字水印信息可以是文本、视频、音频等多种形式,这里我们仅讨论数字水印信息是二值图像的情况

从位平面的角度考虑,数字水印的处理过程分为下面两步:

嵌入过程:将载体图像的第0个位平面替换为数字水印信息(一幅二值图像)。

提取过程:将载体图像的最低有效位所构成的第0个位平面提取出来,得到数字水印信息

最后

以上就是友好酸奶为你收集整理的OpenCV之图像运算的全部内容,希望文章能够帮你解决OpenCV之图像运算所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部