当前位置: 首页 > news >正文

威海外贸网站建设电话/如何检测网站是否安全

威海外贸网站建设电话,如何检测网站是否安全,网站建设 大公司,网站制作步骤是什么3.3 按位逻辑运算逻辑运算是一种非常重要的运算方式,图像处理过程中经常要按照位进行逻辑运算,本节 介绍 Opencv中的按位逻辑运算,简称位运算。在 Opencv内,常见的位运算函数如表3-1所示表3-1 常见的位运算函数函数名基本含义cv2.…

3.3 按位逻辑运算

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

 在 Opencv内,常见的位运算函数如表3-1所示

表3-1 常见的位运算函数

函数名基本含义
cv2.bitwise_and()按位与
cv2.bitwise_or()按位或
cv2.bitwise_xor()按位异或
cv2.bitwise_not()按位取反

3.3.1按位与运算

 在与运算中,当参与与运算的两个逻辑值都是真时,结果才为真。其逻辑关系可以类比图3-4所示的串联电路,只有当两个开关都闭合时,灯才会亮.

3d7961dc953e9407b82717f8e39574f6.png
图3.4 与运算电路

表3-2对与运算算子的不同情况进行了说明,表中使用“and”表示与运算。

c8e2d4e75d7a9206724db3d975472a8c.png
表3-2 与运算

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

771fa7765df769f4e3dcd13232f882e4.png
表3-3 按位与运算

在 Opencv中,可以使用cv2.bitwise_and()函数来实现按位与运算,其语法格式为

dst =cv2.bitwise_and( srcl, src2 [, mask])

式中:

  • dst表示与输入值具有同样大小的aray输出值。
  • srcl表示第一个aray或 scalar类型的输入值。
  • src2表示第二个aray或 scalar类型的输入值。
  • mask表示可选操作掩码,8位单通道aray.

按位与操作有如下特点:

  • 将任何数值N与数值0进行按位与操作,都会得到数值0.
  • 将任何数值N(这里仅考虑8位值)与数值255(8位二进制数是11111)进行按位与操作,都会得到数值N本身。

可以通过表3-4观察数值N(表中是219)与特殊值0和255进行按位与运算的结果。

892d6fae2215b50802be3af43a1743b8.png
表3-4 与特殊值0和255进行按位与运算

根据上述特点,可以构造一幅掩模图像M,掩模图像M中只有两种值:一种是数值0,另外种是数值255.将该掩模图像M与一幅灰度图像G进行按位与操作,在得到的结果图像R中:

  • 与掩模图像M中的数值255对应位置上的值,来源于灰度图像G。
  • 与掩模图像M中的数值0对应位置上的值为零(黑色)。

第13章将从另外一个角度对上述情况进行说明,以帮助大家更好地理解掩模及处理方式。

【例3.7】使用数组演示与掩模图像的按位与运算。

 根据题目要求,编写代码如下:

import cv2
import numpy as np
a=np.random.randint(0, 255, (5, 5), dtype=np.uint8)
b=np.zeros((5, 5), dtype=np.uint8)
b[0:3,0:3]=255
b[4,4]=255
c=cv2.bitwise_and(a, b)
print("a=\n",a)
print ("b=\n",b)
print("c=\n",c)

运行上述程序,输出结果如下:

a=
[[ 17 161 75 89 107]
[215 212 111 215 14]
[173 53 82 147 244]
[172 153 128 63 68]
[173 70 188 16 148]]
b=
[[255 255 255 0 0]
[255 255 255 0 0]
[255 255 255 0 0]
[ 0 0 0 0 0]
[ 0 0 0 0 255]]
c=
[[ 17 161 75 0 0]
[215 212 111 0 0]
[173 53 82 0 0]
[ 0 0 0 0 0]
[ 0 0 0 0 148]]

从程序可以看出,数组c来源于数组a与数组b的按位与操作。运算结果显示,对于数组c内的值,与数组b中数值255对应位置上的值来源于数组a:与数组b中数值0对应位置上的值为0.

【例3.8】构造一个掩模图像,使用按位与运算保留图像中被掩模指定的部分。

在本例中,我们构造一个掩模图像,保留图像lena的头部.

根据题目要求,编写代码如下:

import cv2
import numpy as np
a = cv2.imread("C://Users//25708//Pictures//picture//1 (1059).jpg")
b=np.zeros(a.shape, dtype=np.uint8)
b[50:350,200:400]=255
b[50:500,100:200]=255
c=cv2.bitwise_and(a, b)
cv2.imshow("a", a)
cv2.imshow("b", b)
cv2.imshow("c",c)
cv2.waitKey()
cv2.destroyAllWindows()
4bd44af3764dbe592b8f115d3b294e02.png
例3-5 【例3.8】程序的运行结果

除了需要对灰度图像进行掩模处理,还经常需要针对BGR模式的彩色图像使用掩模提取指定部分。由于按位与操作要求参与运算的数据有相同的通道,所以无法直接将彩色图像与单通道的掩模图像进行按位与操作。一般情况下,可以通过将掩模图像转换为BGR模式的彩色图像,让彩色图像与掩模图像进行按位与操作,实现掩模运算。

【例3.9】构造一个掩模图像,使用按位与操作保留图像内被掩模所指定的部分。

根据题目要求,编写代码如下:

import cv2
import numpy as np
a = cv2.imread("C://Users//25708//Pictures//picture//1 (1060).jpg",1)
b=np.zeros(a.shape, dtype=np.uint8)
b[50:350,200:400]=255
b[50:500,100:200]=255
c=cv2.bitwise_and(a, b)
cv2.imshow("a", a)
cv2.imshow("b", b)
cv2.imshow("c",c)
cv2.waitKey()
cv2.destroyAllWindows()

运行上述程序,输出结果如图3-6所示,其中左图是原始图像,中间的图是掩模图像,右图是原始图像和掩模图像按位与后提取的图像。

2f5052c03d033cb21a5bcb16b29fe926.png
例3-6 【例3.9】程序的运行结果

同时,程序还会显示如下结果

a.shape= (355, 500, 3)
b.shape= (355, 500, 3)

3.3.2按位或运算

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

1e19931363ee07fcae987b25915794d5.png
图3-7 或运算类比电路图

表3-5对参与或运算的算子的不同情况进行了说明,表中使用“or”表示或运算

0c39f0bd11c60aed28578368cf6b346c.png
表3-5 或运算

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

2cb6fc95b2cc22319e7199ce2f10c20b.png
表3-6 按位或运算

在 Opencv中,可以使用cv2.bitwise_or()函数来实现按位或运算,其语法格式为:

dst =cv2.bitwise_or( srcl, src2 [, mask])

式中

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

3.3.3按位非运算

非运算是取反操作,满足如下逻辑

  • 当运算数为真时,结果为假。
  • 当运算数为假时,结果为真。

表3-7对参与运算算子的不同情况进行了说明,表中使用“not”表示非运算。

100dc2264618cd2a7c3cbf66c8074698.png
表3-7 非运算

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

83caefd44332c4a3ceff202001744c00.png
表3-8 按位非运算

在 Opencv中,可以使用函数cv2.bitwise_not()来实现按位取反操作,其语法格式为

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

式中:

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

3.3.4按位异或运算

 异或运算也叫半加运算,其运算法则与不带进位的二进制加法类似,其英文为“ exclusiveOR",因此其函数通常表示为xor.

表3-9对参与异或运算的算子的不同情况进行了说明,其中“xor”表示异或运算。

eb5a9268ffe2367fba36f4a92eb21dbb.png
表3-9 异或运算

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

f08442edced4ab14cc69fbacc6472058.png
表3-10 按位异或运算

在 Opencv中,可以使用函数cv2.bitwise_xor()来实现按位异或运算,其语法格式为:

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

式中:

  • dst表示与输入值具有同样大小的aray输出值。
  • srcl表示第一个aray或 scalar类型的输入值。
  • src2表示第二个aray或 scalar类型的输入值。
  • mask表示可选操作掩码,8位单通道aray值。
3575a269de3a9e93a1c74c6e04228b65.gifcdd4ea0db99390f0b9f8af703cdc64dc.png

joker-wt

扫码|关注我

微信号|joker-wt123

新浪微博|梧tw桐

承蒙关照!!!

我的心愿是——世界和平!!!

http://www.lbrq.cn/news/1395271.html

相关文章:

  • 网站关键词数量多少好/优秀网站设计
  • mvc做网站前台代码/成都营销推广公司
  • 离石做网站的公司/2345网址导航 中国最
  • wordpress调用图片路径/北京seo优化费用
  • 腾讯 网站建设/公司的网站制作
  • 保定电子商务网站建设/网络营销做得好的品牌
  • 怎么把网站做的靠前/天津放心站内优化seo
  • php做自己的网站/网站百度不收录的原因
  • 化工网站模板下载/如何自己开发软件app
  • 网站域名所有人/南宁seo计费管理
  • 企业单页网站模板/网络营销的概念
  • 黑帽seo易下拉霸屏/win10优化大师好用吗
  • 网站在建设中 英语/深圳百度推广开户
  • 无锡网站建设技术外包/电商营销策划方案
  • 万全网站建设/cilimao磁力猫最新版地址
  • 网站怎做百度代码统计/推广运营公司哪家好
  • 东莞东城做网站公司/打开百度一下
  • 做网站一万/上海培训机构
  • 广州澄网站建设公司/石家庄网站优化
  • 网站建设国内外研究现状模板/seo二级目录
  • 保定网站建设冀icp/镇江网站制作公司
  • 网络系统管理与维护形考任务1/seo的关键词无需
  • 江门整站优化/网络营销案例分析报告
  • wordpress 404自定义/商品关键词怎么优化
  • 深圳市手机网站建设/昭通网站seo
  • 做企业网站首页尺寸/营销神器
  • 政务微网站建设方案/网站数据统计工具
  • 做付费视频网站好/seo研究
  • 邯郸网站设计价格/网站的营销推广方案
  • 网上购物系统er图/郑州seo网站关键词优化
  • Web 安全之 HTTP 响应截断攻击详解
  • Python-Pandas GroupBy 进阶与透视表学习
  • 49 C++ STL模板库18-类模板-pair
  • 【电气工程学习】
  • Java并发容器详解
  • FPGA实现Aurora 64B66B图像视频点对点传输,基于GTH高速收发器,提供2套工程源码和技术支持