一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術(shù)及教程分享平臺!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - 超詳細(xì)注釋之OpenCV按位AND OR XOR和NOT

超詳細(xì)注釋之OpenCV按位AND OR XOR和NOT

2022-01-04 00:20程序媛一枚~ Python

這篇文章主要介紹了OpenCV按位AND OR XOR和NOT運(yùn)算,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

這篇博客將介紹如何使用OpenCV應(yīng)用按位AND、OR、XOR和NOT。上一篇學(xué)習(xí)了如何從圖像中裁剪和提取感興趣的區(qū)域(ROI),截取的都是矩形。但是如果想裁剪一個非矩形區(qū)域呢?該怎么辦?

答案是同時(shí)應(yīng)用位運(yùn)算和掩蔽。

  • AND:當(dāng)且僅當(dāng)兩個像素都大于零時(shí),按位AND為真。
  • OR:如果兩個像素中的任何一個大于零,則按位或?yàn)檎妗?/li>
  • XOR:當(dāng)且僅當(dāng)兩個像素中的一個大于零,而不是兩個都大于零時(shí),按位異或?yàn)檎妗?/li>
  • NOT:按位NOT反轉(zhuǎn)圖像中的“開”和“關(guān)”像素。

比較好記的是AND交集、OR并集、XOR并集-交集、NOT――非取反;

 

1. 效果圖

矩形 VS 圓形效果圖如下:

超詳細(xì)注釋之OpenCV按位AND OR XOR和NOT

AND操作效果圖如下,可以看到正方形的邊緣丟失了,因?yàn)榫匦螞]有圓形覆蓋那么大的區(qū)域,因此兩個像素都沒有“開”。

超詳細(xì)注釋之OpenCV按位AND OR XOR和NOT

OR操作效果圖如下,可以看到矩形和圓形被合并了。

超詳細(xì)注釋之OpenCV按位AND OR XOR和NOT

XOR操作效果圖如下,可以看到正方形的中心被移走了,因?yàn)楫惢虿僮鞑荒芡瑫r(shí)具有大于零的像素。

超詳細(xì)注釋之OpenCV按位AND OR XOR和NOT

NOT操作效果圖如下,可以看到圓由前景白色背景黑色變成了前景黑色背景白色。

超詳細(xì)注釋之OpenCV按位AND OR XOR和NOT

 

2. 源碼

# 對示例圖像應(yīng)用AND、OR、XOR和NOT運(yùn)算符。
# USAGE
# python opencv_bitwise.py

# 導(dǎo)入必要的包
import numpy as np
import cv2

# 繪制一個矩形
rectangle = np.zeros((300, 300), dtype="uint8")
cv2.rectangle(rectangle, (25, 25), (275, 275), 255, -1)
cv2.imshow("Rectangle", rectangle)

# 繪制一個圓
circle = np.zeros((300, 300), dtype = "uint8")
cv2.circle(circle, (150, 150), 150, 255, -1)
cv2.imshow("Circle", circle)

# 'AND'操作――當(dāng)輸入都是>0的像素時(shí),則得到開操作像素為255白色,否則被設(shè)置為關(guān)閉,像素為0黑色
# 當(dāng)且僅當(dāng)兩個像素都大于零時(shí),按位AND為真。
bitwiseAnd = cv2.bitwise_and(rectangle, circle)
cv2.imshow("AND", bitwiseAnd)
cv2.waitKey(0)

# ‘OR'操作得到矩形和圓形的并集,只要有一個>0,就得到255白色,否則為0
# 如果兩個像素中的任何一個大于零,則按位“或”為真。
bitwiseOr = cv2.bitwise_or(rectangle, circle)
cv2.imshow("OR", bitwiseOr)
cv2.waitKey(0)

# ‘XOR'是OR的補(bǔ)集,僅當(dāng)倆個像素有一個>0時(shí),為白色255
bitwiseXor = cv2.bitwise_xor(rectangle, circle)
cv2.imshow("XOR", bitwiseXor)
cv2.waitKey(0)

# ‘NOT'操作:0變成255,255變成0
bitwiseNot = cv2.bitwise_not(circle)
cv2.imshow("NOT", bitwiseNot)
cv2.waitKey(0)

參考 https://www.pyimagesearch.com/2021/01/19/opencv-bitwise-and-or-xor-and-not/

到此這篇關(guān)于超詳細(xì)注釋之OpenCV按位AND OR XOR和NOT的文章就介紹到這了,更多相關(guān)OpenCV按位AND OR XOR NOT內(nèi)容請搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://blog.csdn.net/qq_40985985/article/details/118002741

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 禁忌4中文 | 波多野结衣中文丝袜字幕 | 男人的j放进女人的p全黄 | 把老师操了 | 精品亚洲视频在线 | 国产亚洲人成网站在线观看不卡 | 天美传媒果冻传媒星空传媒 | 99福利网| 乖女的嫩奶水h文孕妇 | 视频一区二区国产 | 欧美区视频 | 福利色播| 欧美日韩亚洲综合在线一区二区 | 午夜片无码区在线观看 | 女子监狱第二季在线观看免费完整版 | 国产全部视频 | 日韩免费在线观看 | 干处女| 向日葵视频app下载18岁以下勿看 | 嫩草影院永久一二三入口 | 免费av在线看 | 日本一区二区视频在线观看 | 色婷婷综合和线在线 | ass亚洲熟妇毛茸茸pics | 日本xxxx18vr69 | 精品一产品大全 | 91天堂素人97年清纯嫩模 | 国产精品久久久久毛片 | 九九九九九热 | 欧美日韩精品免费一区二区三区 | 日本人作爰啪啪全过程 | 99久久精品免费精品国产 | 好姑娘在线观看完整版免费 | 不知火舞被c视频在线播放 不卡一区二区三区卡 | 色琪琪久久草在线视频 | 免费港剧在线观看港剧 | 亚洲琪琪| 希岛爱理作品在线观看 | 91大神亚洲影视在线 | 亚洲欧美国产自拍 | 互换身体全集免费观看 |