OpenCV-Python 이미지 비트연산

김지수·2021년 3월 26일
1

OpenCV

목록 보기
9/9
post-thumbnail

코드

import cv2

img1 = cv2.imread('이미지1 파일경로')
img2 = cv2.imread('이미지2 파일경로')

bit_and = cv2.bitwise_and(img1, img2)
bit_or = cv2.bitwise_or(img1, img2)
bit_not = cv2.bitwise_not(img2)
bit_xor = cv2.bitwise_xor(img1, img2)

cv2.imshow('img1', img1)
cv2.imshow('img2', img2)
cv2.imshow('bit_and', bit_and)
cv2.imshow('bit_or', bit_or)
cv2.imshow('bit_not', bit_not)
cv2.imshow('bit_xor', bit_xor)

cv2.waitKey()
cv2.destroyAllWindows()

결과



설명

cv2.bitwise_and(src1, src2[, dst[, mask]])
cv2.bitwise_or(src1, src2[, dst[, mask]])
cv2.bitwise_not(src1[, dst[, mask]])
cv2.bitwise_xor(src1, src2[, dst[, mask]])

ParameterDescription
src1연산할 이미지1
src2연산할 이미지2
dst결과 파일
mask적용 영역 지정

원본 이미지

  • 검은색 : 색이 없음(0)
  • 흰색 : 색이 있음(1)



and 연산

두 이미지에서 모두 흰색인 부분만 흰색으로 출력

cv2.bitwise_and(src1, src2[, dst[, mask]])

ABA and B
000
010
100
111

or 연산

두 이미지 중 하나에서만 흰색이여도 그 부분을 흰색으로 출력

cv2.bitwise_or(src1, src2[, dst[, mask]])

ABA or B
000
011
101
111

not 연산

해당 이미지의 반대로 출력

cv2.bitwise_not(src1[, dst[, mask]])

B
01
10

xor 연산

두 이미지에서 값이 서로 같으면 검은색, 같지 않으면 흰색으로 출력

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

ABA xor B
000
011
101
110
profile
A Data human as a Learner, a Supporter, and a Listener

0개의 댓글