소개
OpenCV-Python 을 사용하여 이미지에 대한 산술 연산에 대한 이 튜토리얼에 오신 것을 환영합니다! 이 튜토리얼에서는 덧셈, 뺄셈 및 비트 연산을 다룹니다. 이 튜토리얼을 마치면 이러한 기본 연산을 사용하여 이미지를 조작하는 방법에 대한 확실한 이해를 갖게 될 것입니다.
이미지 덧셈
이미지 덧셈은 두 이미지의 픽셀 값을 더하는 과정입니다. OpenCV 에서는 cv2.add() 함수가 이 목적으로 사용됩니다.
Python 셸 열기
터미널에서 Python 셸을 엽니다.
python3
두 이미지 로드
.imread를 사용하여 대상 이미지를 읽습니다.
import cv2 as cv2
img1 = cv2.imread('image1.jpg')
img2 = cv2.imread('image2.jpg')
이미지 더하기
이전 단계에서 읽은 두 이미지를 집계하기 위해 .add()를 사용합니다.
result = cv2.add(img1, img2)
결과 저장
결과를 출력합니다.
cv2.imwrite('Image_Addition.jpg', result)
예시
생성된 이미지 Image_Addition.jpg는 다음과 같습니다.

이미지 블렌딩
이 또한 이미지 덧셈이지만, 블렌딩 또는 투명도 느낌을 주기 위해 이미지에 서로 다른 가중치가 부여됩니다. 이미지는 아래 방정식에 따라 더해집니다.

cv.addWeighted()는 이 방정식을 이미지에 적용합니다.
이미지 더하기
이전 단계에서 읽은 이미지에 방정식을 적용하기 위해 .addWeighted()를 사용합니다.
result = cv2.addWeighted(img1,0.7,img2,0.3,0)
결과 저장
결과를 출력합니다.
cv2.imwrite('Image_Blending.jpg', result)
예시
생성된 이미지 Image_Blending.jpg는 다음과 같습니다.

이미지 빼기
이미지 빼기는 두 이미지 간의 차이를 찾는 데 사용됩니다. 한 이미지의 픽셀 값을 다른 이미지에서 뺍니다. OpenCV 에서는 cv2.subtract() 함수를 사용할 수 있습니다.
이미지 빼기
.subtract()를 사용하여 image1 의 픽셀 값을 image2 에서 뺍니다.
result = cv2.subtract(img1, img2)
결과 저장
결과를 출력합니다.
cv2.imwrite('Image_Subtraction.jpg', result)
예시
생성된 이미지 Image_Subtraction.jpg는 다음과 같습니다.

비트 연산
비트 연산은 픽셀 값의 개별 비트를 조작하는 데 사용됩니다. OpenCV 는 비트 연산을 수행하기 위해 cv2.bitwise_and(), cv2.bitwise_or(), cv2.bitwise_xor(), 및 cv2.bitwise_not()과 같은 함수를 제공합니다.
각 연산의 예시를 살펴보겠습니다.
비트 AND (Bitwise AND)
두 이미지의 픽셀 값 비트에 대한 비트 단위 AND 를 계산하려면 .bitwise_and()를 사용합니다.
bitwise_and = cv2.bitwise_and(img1, img2)
비트 OR (Bitwise OR)
두 이미지의 픽셀 값 비트에 대한 비트 단위 OR 을 계산하려면 .bitwise_or()를 사용합니다.
bitwise_or = cv2.bitwise_or(img1, img2)
비트 XOR (Bitwise XOR)
두 이미지의 픽셀 값 비트에 대한 비트 단위 XOR 을 계산하려면 .bitwise_xor()를 사용합니다.
bitwise_xor = cv2.bitwise_xor(img1, img2)
비트 NOT (Bitwise NOT)
이미지의 픽셀 값 비트에 대한 비트 단위 NOT 을 계산하려면 .bitwise_not()을 사용합니다.
bitwise_not_img1 = cv2.bitwise_not(img1)
결과 저장
결과를 출력합니다.
cv2.imwrite('Bitwise_AND.jpg', bitwise_and)
cv2.imwrite('Bitwise_OR.jpg', bitwise_or)
cv2.imwrite('Bitwise_XOR.jpg', bitwise_xor)
cv2.imwrite('Bitwise_NOT_Image1.jpg', bitwise_not_img1)
예시
생성된 이미지는 다음과 같습니다.
- AND
Bitwise_AND.jpg:

- OR
Bitwise_OR.jpg:

- XOR
Bitwise_XOR.jpg:

- NOT
Bitwise_NOT_Image1.jpg:

요약
축하합니다! 이제 OpenCV-Python 을 사용하여 이미지에 대한 산술 연산을 수행하는 방법을 배웠습니다. 이미지 덧셈, 뺄셈 및 비트 연산을 다루었습니다. 이러한 기본 연산은 이미지 혼합, 변경 사항 감지, 이미지의 특정 영역 마스킹과 같은 이미지 처리 작업에 매우 유용할 수 있습니다.
계속 연습하고 다양한 이미지를 실험하여 이러한 연산이 어떻게 작동하는지 더 잘 이해하십시오. 행운을 빌며, 즐거운 코딩 되세요!



