일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 딥러닝
- 모두의 딥러닝
- 김성훈 교수님 PyTorch
- pytorch
- 모두의 딥러닝 예제
- 딥러닝 공부
- 파이토치 김성훈 교수님 강의 정리
- 파이토치 강의 정리
- c언어
- 딥러닝 스터디
- 가우시안 필터링
- 컴퓨터 비전
- 파이토치
- 골빈해커
- tensorflow 예제
- 영상처리
- c++
- 팀프로젝트
- pytorch zero to all
- matlab 영상처리
- 미디언 필터링
- 해리스 코너 검출
- c언어 정리
- object detection
- 케라스 정리
- Pytorch Lecture
- MFC 프로그래밍
- TensorFlow
- C언어 공부
- c++공부
- Today
- Total
목록Image Processing/Matlab ImageProcessing (11)
ComputerVision Jack
Template Matching 템플릿은 영상의 한 조각 정보를 뜻합니다. 템플릿이 주어 졌을 때, 이 템플릿이 영상에 어디 부분에 있는지를 유사도와 비 유사도를 고려하여 계산한 후, 해당 영역에 bounding box 처리를 하는 작업이 템플릿 매칭입니다. 우선 왼쪽 그림을 보시면 여러가지 코인이 화면에 등장합니다. 이 동전 영상에서 오른쪽의 동전 템플릿을 이용해 이 템플릿 이미지가 어디에 위치해 있는지 찾는 방법입니다. correlation (유사도)를 통해 영상에서 템플릿이 적합한 위치를 계산합니다. 해당 템플릿 매칭 코드를 실행하면 유사도를 분석하고 관련 유사도에 근거하여 원본이미지에서 template을 boundingbox처리하여 표기합니다.
Harris Corner Detection 해리스 코너 검출 방법은 영상에서 모서리 부분으로 인식되는 부분을 추출하는 알고리즘입니다. 또한 이렇게 추출된 코너는 영상에서 특징점으로 사용되기도 합니다. 영상마다 고유한 값을 갖고 있기 때문입니다. 우선 Harris Corner Detection에 사용될 이미지 입니다. 우선 해리스 코너 검출에 관련된 수식을 바탕으로 코딩을 해줍니다. 그다음 국지적 최대값을 토대로 코너로 인식된 부분을 corner 배열에 넣어줍니다. 결과를 출력하면 해당 영상에 대해 corner 특징점이 추출되는 것을 확인할 수 있습니다.
Color Segmentation Color Segmentation의 경우 영상 픽셀의 컬러 값을 다양한 컬러로 분할 하는 것을 뜻합니다. 어떤 색의 픽셀이 주로 사용되었고, 해당 픽셀의 분포를 확인할 수 있습니다. 또한, 다양한 Color domain으로 바꿔 확인할 수 있습니다. 저는 이번에 lena영상을 읽어와 RGB 컬러 도메인을 L*a*b 컬러 도메인으로 변환한 후, Color Segmentation을 진행했습니다. 우선 영상을 읽어오고, 몇개의 지역으로 분할 할지 간단하게 설정한 후, rgb2lab ( ) 함수를 이용해 도메인을 변경합니다. 그 다음 최근접 이웃 규칙을 적용하여 픽셀을 컬러 값으로 분류하고 분류된 결과를 출력해봅니다. 해당 픽셀 값에 대해 *a *b 값을 그래프로 출력해서 확인..
Region Labeling 오늘은 Region Labeling에 대해 정리하려고 합니다. 라벨링은 인접 픽셀간의 연관 관계를 파악해서 그룹화 하는 작업이라고 생각하시면 됩니다. 이에 대해 오늘 예제로 사용할 자료를 설명하면서 작성하겠습니다. 생성된 image 안의 배열을 보시면 0과 1로 배경과 object를 나눴다고 생각할 수 있습니다. 하지만 1인 object도 연결 관계에 따라 그룹을 나눌 수 있습니다. 즉 1 부분을 따로 보시면 연결관계에 따라 총 3개의 그룹으로 나눠질 수 있습니다. 이런식으로 말이죠. 이제 코드를 통해서 1을 3개의 그룹으로 라벨링을 진행하겠습니다. 우선 픽셀에 대해서 이웃관계에 따라 라벨링을 부여합니다. 우리는 픽셀의 + 방향으로 라벨리을 부여할 것입니다. 그럼 기존 0 1..
Edge Filter 영상에서 Edge는 외각 선이라고 생각하시면 편합니다. 이러한 Edge를 좀더 강조하기 위해 우리는 Edge에 다양한 필터링을 적용하게 됩니다. 오늘은 이러한 Edge 필터를 3가지 소개하려고 합니다. 기본적으로 3 x 3 마스크를 적용했습니다. Prewitt Edge Filter 수평 수직 Edge를 잘 검출하는 Edge 필터 입니다. Sobel Edge Filter 모든 방향의 Edge를 검출하기에 적합합니다. 하지만 Sobel은 대각선 엣지를 잘 검출합니다. Roberts Edge Filter 로버츠 마스크는 수행 속도가 빠른 장점이 있습니다. 또한 잡음에 민감하고 엣지의 강도가 약한 편이 있습니다. 각 필터의 장점과 원리는 각 필터 연산을 진행한 마스크를 살펴보면 알수 있습니..
이번엔 제 중간고사 과제였기도 한 Matlab을 이용하여 Gaussian Filter를 제작하려고 합니다. Gaussian Filter 가우시안 필터링은 필터링 대상 픽셀 근처에 가중치를 크게 준다고 생각하면 될거 같습니다. 즉 가중 평균(weighted average)을 구하는 것과 같습니다. 영상의 기본적인 잡음을 제거할 땐 blur filter를 사용합니다. 하지만 blur 필터의 경우 blur와 관련된 파라미터를 크게주면 영상 전체가 뿌여지고 object가 가진 경계 또한 모호하게 변하게 됩니다. 따라서 Gaussian filter를 사용하여 영상에 가중치를 주게됩니다. 그러면 가중치가 높은 부분은 건들지 않고 낮은 부분에 대해서 영상이 전체적으로 블러가 적용됩니다. 오늘은 특별하게 가우시안 필터..
Filter 영상에 대해서 Filtering을 진행한다는 것은 해당 영상에 대해서 내가 원하는 목적에 따라 마스크 연산을 진행한다고 생각하시면 됩니다. 하지만 Filtering을 진행할 땐 외각 부분의 픽셀값 손실에 대해서 한번은 생각해야 합니다. 그렇게 등장한 것이 padding입니다. MeanFilter 오늘은 MeanFilter를 lena 이미지에 적용해 보려고 합니다. MeanFilter는 평균값 필터입니다. 예를 들어 3 x 3 필터를 사용한다고 한다면 주변 픽셀 값을 읽어 평균 값을 적용하여 중앙 값을 채택하여 적용합니다. 평균값을 적용하기 때문에 영상이 전체적으로 블러가 진행되는 것을 확인할 수 있습니다. 이번엔 함수를 만들어서 적용해보겠습니다. Matlab의 함수의 시작은 function[..
Alpha Blending 저번 시간에 imfuse() 함수를 이용하여 두 영상을 합치는 과정을 보여드렸습니다. 이번엔 for문을 사용하여 AlphaBlending을 적용해 보겠습니다. Alpha 값에 따라서 합쳐진 영상에서 원본 영상이 차지하는 비율을 설정할 수 있습니다. 우선 알파 블랜딩을 적용하기 전에 두 영상의 사이즈를 확인하여야 합니다. 기본적으로 두 영상을 합치는 과정에 있어서 같은 사이즈의 이미지를 사용합니다.