opencv -12 图像运算之按 《位或》 运算(图像融合&图像修复和去除)

这篇具有很好参考价值的文章主要介绍了opencv -12 图像运算之按 《位或》 运算(图像融合&图像修复和去除)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

位或运算

或运算的规则是,当参与或运算的两个逻辑值中有一个为真时,结果就为真。其逻辑关系可以类比为如图 所示的并联电路,两个开关中只要有任意一个闭合时,灯就会亮。

opencv -12 图像运算之按 《位或》 运算(图像融合&图像修复和去除),opencv,opencv,人工智能,计算机视觉

3-5 对参与或运算的算子的不同情况进行了说明,表中使用“or”表示或运算。
opencv -12 图像运算之按 《位或》 运算(图像融合&图像修复和去除),opencv,opencv,人工智能,计算机视觉
按位或运算是指将数值转换为二进制值后,在对应的位置上进行或运算。例如,表 3-6 展示了两个数值进行按位或运算的示例

opencv -12 图像运算之按 《位或》 运算(图像融合&图像修复和去除),opencv,opencv,人工智能,计算机视觉
OpenCV 中,可以使用 cv2.bitwise_or()函数来实现按位或运算,其语法格式为:
dst = cv2.bitwise_or( src1, src2[, mask]] )
式中:
 dst 表示与输入值具有同样大小的 array 输出值。
 src1 表示第一个 array 或 scalar 类型的输入值。
 src2 表示第二个 array 或 scalar 类型的输入值。
 mask 表示可选操作掩码,8 位单通道 array 值。

我们将11 图片位与运算 的代码放入到位或运算中

import cv2
import numpy as np
a=cv2.imread("lena.png",1)
b=np.zeros(a.shape,dtype=np.uint8)
b[100:400,200:400]=255
b[100:500,100:200]=255
c=cv2.bitwise_or(a,b)
print("a.shape=",a.shape)
print("b.shape=",b.shape)
print("c.shape=",c.shape)
cv2.imshow("a",a)
cv2.imshow("b",b)
cv2.imshow("c",c)
cv2.waitKey()
cv2.destroyAllWindows()

运行效果:

opencv -12 图像运算之按 《位或》 运算(图像融合&图像修复和去除),opencv,opencv,人工智能,计算机视觉

按位非运算

非运算是取反操作,满足如下逻辑:
 当运算数为真时,结果为假。
 当运算数为假时,结果为真。
表 3-7 对参与运算算子的不同情况进行了说明,表中使用“not”表示非运算。
按位非运算是指将数值转换为二进制值后,在对应的位置上进行非运算。例如,表 3-8 展示了按位非运算的示例。

opencv -12 图像运算之按 《位或》 运算(图像融合&图像修复和去除),opencv,opencv,人工智能,计算机视觉
在 OpenCV 中,可以使用函数 cv2.bitwise_not()来实现按位取反操作,其语法格式为:

dst = cv2.bitwise_not( src[, mask]] )

式中:
 dst 表示与输入值具有同样大小的 array 输出值。
 src 表示 array 类型的输入值。
 mask 表示可选操作掩码,8 位单通道 array 值。

按位异或运算

异或运算也叫半加运算,其运算法则与不带进位的二进制加法类似,其英文为“exclusive OR”,因此其函数通常表示为 xor。
表 3-9 对参与异或运算的算子的不同情况进行了说明,其中“xor”表示异或运算。

opencv -12 图像运算之按 《位或》 运算(图像融合&图像修复和去除),opencv,opencv,人工智能,计算机视觉

按位异或运算是指将数值转换为二进制值后,在对应的位置上进行异或运算。例如,表 3-10
展示了两个数值进行按位异或运算的示例。

opencv -12 图像运算之按 《位或》 运算(图像融合&图像修复和去除),opencv,opencv,人工智能,计算机视觉
OpenCV 中,可以使用函数 cv2.bitwise_xor()来实现按位异或运算,其语法格式为:

dst = cv2.bitwise_xor( src1, src2[, mask]] )

式中:
 dst 表示与输入值具有同样大小的 array 输出值。
 src1 表示第一个 array 或 scalar 类型的输入值。
 src2 表示第二个 array 或 scalar 类型的输入值。
 mask 表示可选操作掩码,8 位单通道 array 值

对图片按位异或运算


import cv2
import numpy as np
a=cv2.imread("lena.png",1)
b=np.zeros(a.shape,dtype=np.uint8)
b[100:400,200:400]=255
b[100:500,100:200]=255
c=cv2.bitwise_xor(a,b)
print("a.shape=",a.shape)
print("b.shape=",b.shape)
print("c.shape=",c.shape)
cv2.imshow("a",a)
cv2.imshow("b",b)
cv2.imshow("c",c)
cv2.waitKey()
cv2.destroyAllWindows()

opencv -12 图像运算之按 《位或》 运算(图像融合&图像修复和去除),opencv,opencv,人工智能,计算机视觉文章来源地址https://www.toymoban.com/news/detail-594032.html

到了这里,关于opencv -12 图像运算之按 《位或》 运算(图像融合&图像修复和去除)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • OpenCV图像拼接和图像融合

    其它参考: https://zhuanlan.zhihu.com/p/362371939 https://blog.csdn.net/u013289254/article/details/103111601 主流的图像融合算法主要有以下几种: 1)直接进行图像拼接,会导致图片之间有很明显的界线 2)加权平均法,界线的两侧各取一定的比例来融合缝隙,速度快,但不自然 3)羽化算法,即

    2024年02月05日
    浏览(35)
  • 如何在OpenCV中实现图像边缘保持和去除?

    图像边缘保持和去除是图像处理中的常见任务,用于增强图像的边缘特征或去除图像中的噪声和不必要的边缘信息。在OpenCV中,可以使用各种滤波器和技术来实现图像边缘保持和去除。本文将介绍在OpenCV中实现图像边缘保持和去除的方法,并提供相应的代码示例。 图像边缘保

    2024年02月03日
    浏览(39)
  • OpenCV进阶 — 图像拼接和图像融合技术

    图像拼接在实际的应用场景很广,比如无人机航拍,遥感图像等等,图像拼接是进一步做图像理解基础步骤,拼接效果的好坏直接影响接下来的工作,所以一个好的图像拼接算法非常重要。 再举一个身边的例子吧,你用你的手机对某一场景拍照,但是你没有办法一次将所有你

    2024年02月03日
    浏览(36)
  • opencv实现抠图,图像拼接,图像融合

    在OpenCV中,你可以使用图像拼接、抠图和将图像的一部分放在另一张图片的指定位置。以下是示例代码,演示如何执行这些操作: 图像拼接 要将两张图像拼接在一起,你可以使用  cv::hconcat (水平拼接)和  cv::vconcat (垂直拼接)函数。下面是一个示例代码,演示如何水平

    2024年02月05日
    浏览(36)
  • 使用OpenCV与深度学习去除图像背景:Python实现指南

    第一部分:简介和OpenCV的背景去除 在现代的图像处理和计算机视觉应用中,背景去除是一个常见的需求。这不仅用于产品摄影和电商平台,还广泛应用于各种图像分析任务。在这篇文章中,我们将使用OpenCV和深度学习技术来实现此功能,并通过Python进行实现。本教程会介绍两

    2024年01月20日
    浏览(43)
  • opencv(三)边界填充、图像融合、图像阈值处理

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 边界填充就是将图片按一定的方法将图片的四周向外填充并将图片放大 因为opencv中的颜色通道不是RGB而是BGR,所以我们要用到之前讲到的分割将颜色通道重新整合成RGB后再用matplotlib库将其画出 BORDER_R

    2024年02月21日
    浏览(54)
  • Python opencv 去除图像四周黑边的一种做法

    注意,图像去黑边有很多种算法设计思路,具体能否起作用要视待处理图像的质量等因素来确定。 这里给出的思路为,将图像以黑白的形式读进去,利用opencv的connectedComponentsWithStats函数求连通域。那么对于有黑边的图像来说,图像由内容和黑边组成,因此 最大 的连通域就是

    2024年02月12日
    浏览(48)
  • 图像合成——OpenCV-Python图像融合详解

    图像合成——OpenCV-Python图像融合详解 在图像处理中,图像的合成是一项重要的任务。OpenCV提供了许多方法来实现图像合成。其中,cv::addWeighted()函数是一种常用的图像融合方法。它可以将两张图片以一定的权重相加,产生一张新的融合图像。 下面我们将详细讲解OpenCV中的c

    2024年02月14日
    浏览(47)
  • opencv图像修复FMM、NS图像修复算法GUI版

    FMM (Fast Marching Method) 和 NS (Navier-Stokes) 是两种不同的图像修复方法,通常用于填充缺失、损坏或污染的图像区域。它们在图像处理中有不同的应用场景和原理。 FMM应用场景:FMM主要用于基于物理模型的图像修复,例如医学图像处理、地理信息系统(GIS)和自然图像复原。 FM

    2024年04月08日
    浏览(33)
  • 第7天----【位运算进阶之----位或(|)】七夕特别版

    ❤️ 今天我们来学习位或 注意:本文中的位是 从右往左 来说的,也就是从低位开始数的!!! 当然,在正式学习之前,让我们先看看昨天留下的问题:⭐️如何判断一个数是不是2的幂❓ ✨要想解决这个问题,我们先要搞清楚,2的幂有什么特征? 2的幂 十进制表达 二进制

    2024年02月11日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包