일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- object detection
- TensorFlow
- 해리스 코너 검출
- 영상처리
- pytorch
- pytorch zero to all
- 김성훈 교수님 PyTorch
- 팀프로젝트
- c++
- c언어 정리
- 딥러닝 공부
- 딥러닝
- 모두의 딥러닝 예제
- 파이토치 강의 정리
- Pytorch Lecture
- 파이토치 김성훈 교수님 강의 정리
- c++공부
- c언어
- 파이토치
- C언어 공부
- matlab 영상처리
- tensorflow 예제
- 딥러닝 스터디
- MFC 프로그래밍
- 미디언 필터링
- 가우시안 필터링
- 케라스 정리
- 모두의 딥러닝
- 컴퓨터 비전
- 골빈해커
- Today
- Total
ComputerVision Jack
[컴퓨터 비전 - 이진화 & 모폴로지] 본문
영상 이진화
영상의 이진화(Binarization) 영상의 픽셀을 두 개의 분류로 나누는 작업
Roi와 그렇지 않은 관심 영역으로 나누는 작업
영상의 이진화는 값을 0 or 255로 지정한다. (검은색과 흰색으로 나눈다)
T임계값을 기준으로 이진화를 적용한다.
double threshold(InputArray src, OutputArray dst, double thresh, double maxval, int type);
#영상의 이진화를 진행하는 함수
적응형 이진화
영상의 모든 픽셀에 대해 같은 임계값을 적용하여 이진화 수행하는 방식을 전역 이진화라고 한다.
영상의 밝기 값이 다르기 때문에 전역 이진화의 한계가 존재한다.
따라서 각 픽셀마다 서로 다른 임계값을 사용하는 기법이 적용된다.
정해진 블록에서 픽셀값 분포에 따라 고유의 임계값을 설정하여 이진화 하는 방식
void adaptiveThreshold(InputArray src, OutputArray dst, double maxValue, int adaptiveMethod,
int thresholdType, int blockSize, double C);
#적응형 이진화 적용하는 함수
보기의 예제는 좌하단은 어둡고 우상단은 밝게 되어 있는 스토구 사진이다.
모폴로지 연산
모폴로지(morphology)
영상 처리 분야에서 영상의 객체의 형태 및 구조에 대해 분석하고 처리하는 기법
=수학적 모폴로지
주로 이진화된 영상에 대해서 모폴로지를 적용하여 영상을 단순화 하거나 잡음을 제거한다.
마스크를 이용하여 영상의 침식과 팽창을 적용한다.
Mat getStructuringElement(int shapem Size ksize, Point anchor = Point(-1, -1));
#구조 요소를 간단히 생성해준다.
void erode(InputArray src, OutputArray dst, InputArray kernel, Point anchor = Point(-1, -1), int iterations = 1,
int borderType = BORDER_CONSTANT, const Scalar& borderValue = morphologyDefaultBorderValue());
#영상의 침식 연산 적용하는 함수
void dilate(InputArray src, OutputArray dst, InputArray kernel, Point anchor = Point(-1, -1), int iterations = 1,
int borderType = BORDER_CONSTANT, const Scalar& borderValue = morphologyDefaultBorderValue());
#영상의 팽창 연산을 수행하는 함수
이진영상 열기와 닫기
열기 연산 : 침식 연산 - 팽창 연산
닫기 연산 : 팽창 연산 - 침식 연산
void morphologyEx(InputArray src, OutputArray dst, int op, InputArray kernel, Point anchor = Point(-1, -1),
int iterations = 1, int borderType = BORDER_CONSTANT,
const Scalar& borderValue = morphologyDefaultBorderValue());
#일반적인 모폴로지 연산을 수행하는 함수
'Image Processing > Computer Vision' 카테고리의 다른 글
[컴퓨터 비전 - 객체 검출] (0) | 2020.02.04 |
---|---|
[컴퓨터 비전 - 레이블링과 외각선 검출] (0) | 2020.02.03 |
[컴퓨터 비전 - 영상 기하학적 변환] (0) | 2020.01.29 |
[컴퓨터 비전 - 필터링] (0) | 2020.01.28 |
[컴퓨터 비전 - 영상의 연산] (0) | 2020.01.22 |