Python에서 OpenCV 모듈을 사용하여 이미지 반전

Vaibhav Vaibhav 2023년10월10일
  1. 이미지 반전
  2. Python에서 bitwise_not() 메서드를 사용하여 이미지 반전
  3. Python에서 numpy.invert() 메서드를 사용하여 이미지 반전
Python에서 OpenCV 모듈을 사용하여 이미지 반전

OpenCV 또는 오픈 소스 컴퓨터 비전 라이브러리는 이미지 처리 및 기계 학습에 사용되는 실시간 컴퓨터 비전 라이브러리입니다. C/C++로 작성되었으며 C++, Python 및 Java와 같은 많은 프로그래밍 언어에서 사용할 수 있습니다. Python에서 일반적으로 OpenCV는 행렬, 다차원 배열 및 수학적 계산을 위한 Python 기반 라이브러리인 NumPy와 함께 사용됩니다.

이미지는 NumPy 다차원 배열을 사용하여 표현되고 OpenCV를 사용하여 처리됩니다. OpenCV 모듈을 사용하면 뒤집기, 크기 조정, 회전, 미러링, 색상 변경, 색상 반전 등과 같은 이미지에 대해 많은 작업을 수행할 수 있습니다. 이 기사에서는 OpenCV 모듈을 사용하여 이미지를 반전시키는 방법을 배웁니다.

이미지 반전

이미지는 RGB 또는 Red Green Blue 값을 사용하여 표현됩니다. 각각은 0에서 255(둘 다 포함) 사이의 정수 값을 사용할 수 있습니다. 예를 들어 빨간색은 (255, 0, 0), 흰색은 (255, 255, 255), 검은색은 (0, 0, 0) 등으로 나타냅니다.

이미지 반전은 이미지의 색상을 반전시키는 것을 의미합니다. 예를 들어 빨간색의 반전된 색상은 (0, 255, 255)입니다. 0255가 되고 2550이 됩니다. 이것은 이미지 반전이 본질적으로 255에서 이전 RGB 값을 빼는 것임을 의미합니다.

New_Value = 255 - Old_Value

원본 이미지:

python opencv에서 이미지 반전 - 원본

반전된 이미지:

python opencv에서 이미지 반전 - 원본

Python에서 bitwise_not() 메서드를 사용하여 이미지 반전

OpenCV에는 비트 단위 NOT 연산을 수행하는 bitwise_not() 메서드가 있습니다. 이 기능을 사용하여 이미지를 반전할 수 있습니다. 다음 코드를 참조하십시오. 작업 디렉토리에 image.png라는 이름의 이미지가 있는 것으로 간주합니다.

import cv2

image = cv2.imread("image.png", 0)
inverted_image = cv2.bitwise_not(image)
cv2.imwrite("inverted.jpg", inverted)
cv2.imshow("Original Image", image)
cv2.imshow("Inverted Image", inverted_image)

이 프로그램은 먼저 이미지를 로드하고 반전하여 작업 디렉토리에 저장합니다. 그 후 원본 이미지와 반전 이미지가 모두 표시됩니다.

Python에서 numpy.invert() 메서드를 사용하여 이미지 반전

NumPy에는 비트 단위 반전 또는 비트 단위 NOT 연산을 수행하는 invert() 메서드가 있습니다. 다음 코드는 이 메서드를 사용하여 반전을 수행하는 방법을 보여줍니다.

import cv2
import numpy as np

image = cv2.imread("image.png", 0)
inverted_image = np.invert(image)
cv2.imwrite("inverted.jpg", inverted)
cv2.imshow("Original Image", image)
cv2.imshow("Inverted Image", inverted_image)

invert() 메서드에 대한 자세한 내용은 여기를 참조하세요.

Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

관련 문장 - Python OpenCV