Notice
Recent Posts
Recent Comments
Link
Koo's.Co
[OpenCV] 명암비 조절 본문
1. 명암비(Contrast)
- 밝은 곳과 어두운 곳 사이에 드러나는 밝기 정도의 차이
- 컨트라스트, 대비
- 보통 영상처리를 할 때, 명암비를 높여 영상을 선명하게 만듬
- 글씨나 물체를 좀 더 잘 인식하기 위한 용도로 사용 가능
2. 명암비 조절
- src 이미지에 일정한 가중치를 곱한 후 saturate 연산을 적용
전체적으로 포화가 되는 부분이 많아지거나 최대 밝기가 너무 낮아지는 문제가 있다.
import sys
import cv2
import numpy as np
src = cv2.imread('image.bmp', cv2.IMREAD_GRAYSCALE)
if src is None:
sys.exit()
alpha = 1.0
dst = np.clip((1 + alpha) * src - 128 * alpha).astype(np.uint8)
cv2.imshow('src', src)
cv2.imshow('dst', dst)
cv2.waitKey()
cv2.destroyAllWindows()
3. Histogram Stretching
영상의 히스토그램이 그레이스케일 전 구간에 걸쳐 나타나도록 변경하는 선형 변환
cv2.normalize(src, dst, alpha=None, beta=None, norm_type=None, dtype=None,
mask=None) -> dst
- src: 입력 영상
- dst: 결과 영상, None을 입력
- alpha: 최솟값
- beta: 최댓값
- norm_type: 정규화 타입, NORM_INF, NORM_L1, NORM_L2, NORM_MINMAX
- dtype: 결과 영상 타입
- mask
norm_type을 NORM_MINMAX로 설정하고 alpha=0, beta=255로 설정해 전체 범위로 정규화할 수 있다
src = cv2.imread('img.jpg', cv2.IMREAD_GRAYSCALE)
dst = cv2.normalize(src, 0, 0, 255, cv2.NORM_MINMAX)
cv2.imshow('src', src)
cv2.imshow('dst', dst)
cv2.waitKey()
cv2.destroyAllWindows()
'Python > 영상처리' 카테고리의 다른 글
[OpenCV] 히스토그램 평활화(Histogram Equalization) (0) | 2023.01.05 |
---|---|
[OpenCV] 히스토그램 분석 (0) | 2023.01.05 |
[OpenCV] 컬러 영상 기본 함수 (0) | 2023.01.04 |
[OpenCV] 산술 연산 (0) | 2023.01.04 |
[OpenCV] 마스크 연산, ROI(Region of Interest) (0) | 2023.01.04 |
Comments