Matlab에서의 Blob Labeling알고리즘
- 최초 등록일
- 2021.10.05
- 최종 저작일
- 2021.09
- 6페이지/ 한컴오피스
- 가격 1,000원
소개글
"Matlab에서의 Blob Labeling알고리즘"에 대한 내용입니다.
목차
1. 서론
2. 실행 – Blob Labeling
가. 함수 부분
나-1. 함수 호출 – Lab1
다-1. 실행 결과 – Lab1
나-2. 함수 호출 – Lab2
다-2. 실행 결과 – Lab1
3. 결론
본문내용
1.서론
강의에서 Blob Labeling에 대해서 배웠다. 빌트인 함수를 사용하여 간단한 코딩이 가능하지만, 빌트인 함수가 어떠한 알고리즘으로 동작하는지 알아보기 위해 빌트인 함수를 사용하지 않고 함수를 만들어 보고 빌트인 함수를 사용했을 때의 결과물과 비교해 보려고 한다.
<진행 방향>
Blob Labeling을 위해, 이진화를 진행하고 아래 그림에 따라 변수 A, B, C, D를 선언한다.
다음은 모든 픽셀을 체크해 가면서 주변 A, B, C, D값에 따라 Labeling 해주도록 한다.
2. 실행 – Blob Labeling
<코드 설명>
가. 함수 부분
우선 Blob Labeling을 하기 위해서는 이진화가 필요하다. 이미지를 읽어온 후 이진화가 되어 있지 않은 이미지라면 먼저 이진화를 시킨다. 그리고 위에 진행 방향에서 말했듯, 그림에 따라 A, B, C, D를 정한다. 이 때, 행렬의 모서리 부분에서는 A, B, C, D 중 특정한 값이 이미지 밖으로 벗어날 수 있기 때문에 이를 방지하기 위해 이미지 밖으로 벗어나면 0의 값을 가지도록 코딩해 준다. 그 후 A, B, C, D 값에 따라 몇으로 labeling할지 결정한다. 함수 끝에는 figure창을 띄워 내가 만든 함수와 빌트인 함수의 결과물을 비교해 본다.
이 코드에서, A, B, C, D 중 특정 값이 이미지 밖으로 벗어나면 0의 값을 가지도록 하는 부분의 코드를 전부 제거하고, 모서리 부분에서는 labeling을 실행하지 않도록 for문에서 i는 2부터 r-1 까지, j는 2부터 c-1까지로 코딩을 해 보았다. 일반적인 사진에서는 1개의 행과 열이 이미지에서 눈에 보이지도 않을 정도로 작은 부분을 차지하기 때문에 결과물이 거의 달라지지 않았다. 하지만, Lab 2-3에서처럼, 작은 이미지를 labeling할 때는 차이가 확연하게 드러났다. 일반적인 사진을 Blob labeling할 때는, 그 부분의 코드를 지워도 괜찮을 것 같다.
참고 자료
없음