Python OpenCV 강좌 : 제 11강 - 역상

Python OpenCV Reverse Image

Python OpenCV 강좌 : 제 11강 - 역상
[ Python-OpenCV ] - 윤대희

역상(Reverse Image)


1

역상(Reverse Image)은 영상이나 이미지를 반전 된 색상으로 변환하기 위해서 사용합니다.

픽셀 단위마다 비트 연산(Bitwise Operation)을 적용하는데, 그중 NOT 연산을 적용합니다.

NOT 연산은 각 자릿수의 값을 반대로 바꾸는 연산입니다.

만약 153의 값을 갖는 픽셀에 NOT 연산을 적용한다면 102의 값으로 변경됩니다.

1530b10011001의 값을 가지며, 1020b01100110의 값을 갖습니다.

즉, 10 진수의 픽셀값을 2 진수의 값으로 변경한 다음, 각 자릿수의 값을 반대로 바꾸게 됩니다.

10이 되며, 01로 변경됩니다.



Main Code


import cv2

src = cv2.imread("Image/whitebutterfly.jpg", cv2.IMREAD_COLOR)
dst = cv2.bitwise_not(src)

cv2.imshow("src", src)
cv2.imshow("dst", dst)
cv2.waitKey()
cv2.destroyAllWindows()



Detailed Code


dst = cv2.bitwise_not(src)

NOT 연산 함수(cv2.bitwise_not)로 이미지에 NOT 연산을 적용할 수 있습니다.

dst = cv2.bitwise_not(src, mask)입력 이미지(src), 마스크(mask)출력 이미지(dst)을 생성합니다.

마스크는 NOT 연산을 적용할 특정 영역을 의미합니다. 마스크 배열이 포함되어 있다면, 해당 영역만 반전 연산을 적용합니다.

  • Tip : not 연산 이외에도 and, or, xor 연산이 존재합니다.



Result


2



Book Image

개정판이 출간됐습니다!

C#과 파이썬을 활용한 OpenCV 4 프로그래밍 (개정판)

컴퓨터 비전 기초 이론부터 머신러닝을 활용한 영상 처리 프로젝트까지

  • C#과 파이썬용 OpenCV의 데이터 형식과 행렬 및 배열 연산
  • 이미지/동영상/카메라를 활용한 입출력과 결과 저장
  • 전처리 과정과 정보를 탐색하기 위한 이미지 변형
  • 유의미한 정보를 검출하기 위한 이미지 변환
  • 이미지에서 정보를 검출 및 인식
  • 객체 검출을 포함한 모션 추적
  • K-means, KNN, SVM 등의 머신러닝 알고리즘 적용 방법
  • 카페(Caffe), 다크넷(Darknet), 텐서플로 모델을 활용한 딥러닝 모듈 적용 방법
  • Tesseract-OCR과 C# OpenCvSharp4를 활용한 프로젝트
  • 텐서플로와 Python OpenCV4를 활용한 프로젝트
  • 윤대희 저 | 위키북스

    [yes24 바로가기] [알라딘 바로가기] [교보문고 바로가기]

    후원하기


    ⤧  Previous post Python OpenCV 강좌 : 제 10강 - 색상 공간 변환 ⤧  Next post Python OpenCV 강좌 : 제 12강 - 이진화
    Python-OpenCV Category