728x90
그레이스케일 이미지 밝기 조절
그레이스케일 이미지를 밝게 조절할 때는 add() , 어둡게할 때는 sub() 를 사용하면 쉽게 변환할 수 있습니다.
import numpy as np
import cv2
src = cv2.imread('img.jpg', cv2.IMREAD_GRAYSCALE)
add_dst = cv2.add(src, 100)
sub_dst = cv2.subtract(src, 100)
cv2.imshow('src', src)
cv2.imshow('add_dst', add_dst)
cv2.imshow('sub_dst', sub_dst)
cv2.waitKey()
cv2.destroyAllWindows()
컬러 이미지 밝기 조절
위의 코드를 그대로 실행해보면 다음과 같은 결과가 나옵니다.
확인해보면 픽셀의 BGR의 B값만 더해진 것을 알 수 있습니다.
import numpy as np
import cv2
src = cv2.imread('img.jpg', cv2.IMREAD_COLOR)
x, y = 50, 50
add = cv2.add(src, 100)
sub = cv2.subtract(src, 100)
print('src :', src[y, x])
print('add :', add[y, x])
print('sub :', sub[y, x])
더보기
src : [142 150 149]
add : [242 150 149]
sub : [ 42 150 149]
cv2.add(src1, src2, dst=None, mask=None, dtype=None)
cv2..subtract(src1, src2, dst=None, mask=None, dtype=None)
두 함수는 기능만 다를 뿐, 사용법은 같습니다.
sr1, sr2 인 이미지와 이미지를 연산합니다.
배열을 생성해서 다시 실행하니 정상적인 결과가 나왔습니다.
import numpy as np
import cv2
src = cv2.imread('img.jpg', cv2.IMREAD_COLOR)
val = 100
array = np.full(src.shape, (val, val, val), dtype=np.uint8)
add = cv2.add(src, array)
sub = cv2.subtract(src, array)
cv2.imshow('src', src)
cv2.imshow('add', add)
cv2.imshow('sub', sub)
cv2.waitKey()
cv2.destroyAllWindows()
'OpenCV' 카테고리의 다른 글
파이썬 OpenCV 이미지 필터링 알아보기 : blur, GaussianBlur, medianBlur, bilateralFilter (1) | 2020.07.14 |
---|---|
파이썬 OpenCV 트랙바 사용하기 (1) | 2020.07.14 |
파이썬 OpenCV 도형 그리기 : line, rectangle, circle, polilines (0) | 2020.07.13 |
파이썬 OpenCV 이미지 생성/복사하기 (0) | 2020.07.13 |
파이썬 OpenCV 이미지 읽기 -2 : 이미지 객체 속성, 픽셀 접근 (0) | 2020.07.08 |