這篇博客將介紹如何使用OpenCV應用按位AND、OR、XOR和NOT。上一篇學習了如何從圖像中裁剪和提取感興趣的區域(ROI),截取的都是矩形。但是如果想裁剪一個非矩形區域呢?該怎么辦?
# 對示例圖像應用AND、OR、XOR和NOT運算符。
# USAGE
# python opencv_bitwise.py
# 導入必要的包
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'操作——當輸入都是>0的像素時,則得到開操作像素為255白色,否則被設置為關閉,像素為0黑色
# 當且僅當兩個像素都大于零時,按位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的補集,僅當倆個像素有一個>0時,為白色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)
到此這篇關于超詳細注釋之OpenCV按位AND OR XOR和NOT的文章就介紹到這了,更多相關OpenCV按位AND OR XOR NOT內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!