상세 컨텐츠

본문 제목

영상의 화소 처리 방법

영상처리/OpenCV Python

by cepiloth 2021. 5. 25. 10:18

본문

728x90
반응형

화소 처리(Point processing)

입력 영상의 특정 좌표 픽셀 값을 변경하여 출력 영상의 해당 좌표 픽셀 값으로 설정하는 연산

 

결과 영상의 픽셀 값이 정해진 범위(e.g. 그레이스케일)에 있어야 함
반전, 밝기 조절, 명암비 조절 등

 

영상의 밝기 조절

영상을 전체적으로 더욱 밝거나 어둡게 만드는 연산

 

밝기 조절 수식

/*
src1 : 첫 번째 영상 또는 스칼라
src2 : 두 번째 영상 또는 스칼라
dst : 덧셈 연산의 결과 영상
mask : 마스크 영상
dtype : 출력 영상(dst)의 타입. (e.g.) cv2.CV_8U, cv2.CV_32F 등
참고사항
 - 스칼라(Scalar)는 실수 값 하나 또는 실수 값 네 개로 구성된 튜플
 - dst를 함수 인자로 전달하려면 dst의 크기가 src1, src2와 같아야 하며, 타입이 적절해야함
*/
cv2.add(src1, src2, dst=None, mask=None, dtype=None) -> dst

 

brightness.py

import sys
import numpy as np
import cv2


# 그레이스케일 영상 불러오기
src = cv2.imread('lenna.bmp', cv2.IMREAD_GRAYSCALE)

if src is None:
    print('Image load failed!')
    sys.exit()

dst = cv2.add(src, 100)
#dst = np.clip(src + 100., 0, 255).astype(np.uint8)
#실수단위 계산 astype(np.uint8) uint8 형태로 변환

cv2.imshow('src', src)
cv2.imshow('dst', dst)
cv2.waitKey()

# 컬러 영상 불러오기
src = cv2.imread('lenna.bmp')

if src is None:
    print('Image load failed!')
    sys.exit()

dst = cv2.add(src, (100, 100, 100, 0))
#dst = np.clip(src + 100., 0, 255).astype(np.uint8)

cv2.imshow('src', src)
cv2.imshow('dst', dst)
cv2.waitKey()

cv2.destroyAllWindows()

 

728x90
반응형

'영상처리 > OpenCV Python' 카테고리의 다른 글

영상의 논리 연산  (0) 2021.05.25
영상의 산술 연산  (0) 2021.05.25
카메라와 동영상 처리하기 2  (0) 2021.05.12
카메라와 동영상 처리하기 1  (0) 2021.05.12
OpenCV 그리기 함수  (0) 2021.05.12

관련글 더보기

댓글 영역