공부/[2022] OpenCV (영상처리)

[22.04.08] OpenCV(파이썬) - 화소 처리(화소 접근 방법, 밝기 변화, 히스토그램 등)

창작꾼 븐틴이 2022. 4. 9. 00:03
728x90
반응형

시험 싫어요

 

행렬정보를 만든다 => 영상을 만든다

 

reshape(2,5) -> 2행 5열 

shape[0] -> 행 정보를 가져옴

shape[1] -> 열 정보를 가져옴

 

item(a,b) 화소의 값을 반환

itemset(a,b) 새롭게 할당? 

행렬 원소 접근 방법

 

1. 배열의 첨자기능 활용

 

2. 넘파이 함수 사용

 

3. 룩업테이블 활용

- 행렬 정보 => 배열로 변경 / 파이썬 배열을 넘파이 배열로 변환? / 편리함

 

4. OpenCV 함수 이용

 

5. ndarray 활용 (연산자 오버로딩을 이용한 방식)

그레이스케일 != 흑백영상

== 명암도 영상  0 검은색 255흰색

j // 2  :  0, 1인 2단계 표현

j // 20* 10 : 단계 수 적음 => 계단현상

 

1, 2 => 최갯, 최솟 넘어가면 고정시킴

3, 4 나머지 값 연산을 활용

=> 가감연산 알고리즘이 다름

 

 

영상 합성 할 때는 비율을 다르게 하는게 좋당

 

clip() - astype()

=> 에러방지를 위한 설정 + 타입변경 

그냥 더하면 밝은게 255가 넘어감 (밝기 가득한 영상)

[합칠 때는 비율이 중요함]

 

dtype : 데이터타입그대로 

caleAdd 비율로 더 해줌

 

 

히스토그램 : 화소들의 값을 분류해서 카운팅 (밝기 판단 가능)

 

단일채널 -> 그레이스케일 영상

컬러영상 단일채널해도 됨

 

cv2.calcHist() : 계산함수 (빈도 계산)

cv2.normalize() : 정규화 함수

enumerate() : 인덱스, 실제 값 반환

flip() : 뒤집기

 

히스토그램 스트레칭 : 명암 분포를 고르게 (스트레핑 쭈우우욱, 고른 명암 분포)

=> 대비가 좋지 않은 영상 화질 개선

 

이퀄라이저 평활화 (간격을 동일, 분포를 균등하게)

=> 영상의 인지도 높, 화질 개선

728x90
반응형