코드 및 이미지 : https://github.com/Seokii/Study_OpenCV
GitHub - Seokii/Study_OpenCV: study about OpenCV
study about OpenCV. Contribute to Seokii/Study_OpenCV development by creating an account on GitHub.
github.com
지난 포스팅에서는 관심 영역을 지정하고 값을 확인하는 것을 해봤고,
이번에는 행렬의 덧셈, 뺄셈을 통한 이미지(영상)의 밝기 조절을 해보도록 하겠습니다.
OpenCV의 saturation연산
OpenCV에서는 행렬의 연산 시 화소 값이 0 미만이거나 255 이상일 경우 saturation 방식을 취합니다.
ex) 100 + 300 = 400 -> 255
ex) 100 - 300 = -200 -> 0
주피터 노트북으로 구현하기
In [1] :
import numpy as np
import cv2
In [2] :
image = cv2.imread("images/cat.jpg", cv2.IMREAD_GRAYSCALE)
- 필요한 라이브러리와 이미지를 불러옵니다.
- 이미지는 그레이스케일(흑백)로 불러왔습니다.
In [3] :
img1 = cv2.add(image, 100)
img2 = cv2.subtract(image, 100)
- img1, img2 변수로 불러온 이미지를 각각 cv2.add(), cv2.subtract() 함수를 사용하여 각 행렬의 화소 값을 덧셈, 뺄셈 계산을 진행합니다.
In [4] :
cv2.imshow("original", image)
cv2.imshow("brighter", img1)
cv2.imshow("darker", img2)
cv2.waitKey(0)
cv2.destroyAllWindows()
Out [4] :


- 코드의 결과 값입니다.
- original은 원본 사진이며, brighter은 cv2.add()의 결과 값, darker은 cv2.subtract()의 결과 값입니다.
도움이 되셨다면 아래 광고 한 번만 클릭해주세요 감사합니다!
댓글