- 화소 처리(Point processing)
- 입력 영상의 특정 좌표 픽셀 값을 변경하여 출력 영상의 해당 좌표 픽셀 값으로 설정하는 연산
- 결과 영상의 픽셀 값이 정해진 범위에 있어야함
- 반전, 밝기, 조절, 명암비 조절등
- 밝기 조절이란?
- 영상을 전체적으로 더욱 밝거나 어둡게 만드는 연산
- 밝기 조절 수식
- 영상의 밝기 조절을 위한 영상의 덧셈 연산
cv2.add(src1,src2,dst=None,mask=None,dtype=None) -> dst
• src1: ( 입력 ) 첫 번째 영상 또는 스칼라
• src2: ( 입력 ) 두 번째 영상 또는 스칼라
• dst: ( 출력 ) 덧셈 연산의 결과 영상
• mask: 마스크 영상
• dtype: 출력영상(dst) 의 타입. ex)cv2.CV_8U, cv2.CV_32F 등
• 참고사항
스칼라는 실수 값 하나 또는 실수 값 네 개로 구성된 튜플
dst 를 함수 인자로 전달하려면 dst 의 크기가 src1, src2 와 같아야 하며 , 타입이 적절해야 함
- 그레이스케일, 컬러 영상의 밝기 100만큼 증가시키기
import sys
import numpy as np
import cv2
#흑백
src=cv2.imread('lenna.bmp',cv2.IMREAD_GRAYSCALE)
dst=cv2.add(src,100)
#컬러
src2=cv2.imread('lenna.bmp')
dst2=cv2.add(src2,(100,100,100,0)) # (b,g,r, 알파채널=쓰이지 않음) 만약 100이라고만 넣으면 100=(100,0,0,0)
#dst=np.clip(src+100.,0,255).astype(np.uint8)
'''
dst=src+100 라고 한다면
src는 그레이스케일 이기 때문에 각각의 픽셀값은
unsigned character (uint8) 이다.
그러므로 0~255 값을 갖는데 255보다 커질경우
0에 가까운 값으로 바꾸어 버린다
ex)257->1
그러므로
dst=np.clip(src+100.,0,255).astype(np.uint8)
함수를 사용하거나 add함수를 사용한다
'''
cv2.imshow('src',src)
cv2.imshow('dst',dst)
cv2.waitKey()
cv2.destroyAllWindows()
cv2.imshow('src2',src2)
cv2.imshow('dst2',dst2)
cv2.waitKey()
cv2.destroyAllWindows()
'Computer Vision > opencv(python)' 카테고리의 다른 글
[14] 3) 컬러 영상과 색 공간 (0) | 2021.03.18 |
---|---|
[13] 2) 영상의 산술 및 논리 연산 (0) | 2021.03.17 |
[11] 동영상 전환 이펙트 (2) | 2021.03.16 |
[10] 키보드, 마우스, 트랙바 이벤트 처리하기 (0) | 2021.03.16 |
[09] 5) 카메라와 동영상 처리하기 (0) | 2021.03.15 |