일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 모두의 딥러닝
- c언어
- 영상처리
- 팀프로젝트
- TensorFlow
- object detection
- pytorch zero to all
- pytorch
- 김성훈 교수님 PyTorch
- 해리스 코너 검출
- C언어 공부
- 미디언 필터링
- 케라스 정리
- Pytorch Lecture
- tensorflow 예제
- matlab 영상처리
- 파이토치 강의 정리
- c++공부
- 파이토치
- 딥러닝 공부
- 골빈해커
- 모두의 딥러닝 예제
- 컴퓨터 비전
- 딥러닝
- c++
- 가우시안 필터링
- MFC 프로그래밍
- 파이토치 김성훈 교수님 강의 정리
- 딥러닝 스터디
- c언어 정리
- Today
- Total
목록Image Processing (55)
ComputerVision Jack
들어가기 앞서 Chapter1에선 C++프로그래밍에 대한 복습이 이루어진다. MFC에서 제공 하는 기본 클래스가 C++언어로 작성되고, C++을 이용해 만들어야 하기 때문이다. 클래스(Class) C언어로 개발 하는 경우 문제점 C언어 구조체로 개발하는 경우 구조체 변수의 모든 필드 공간도 사용가능하기 때문에 오류를 감지 못하는 경우가 종종 발생하곤한다. 따라서 C++의 클래스를 사용한다. 클래스는 변수뿐 아니라 함수도 멤버로 끌어오기 때문이다. 또한 엑세스 지정자를 변수와 함수에 적용이 가능하다. public : 클래스 내의 함수 뿐만 아니라 밖의 함수도 가능하다. private : 클래스 내에 존재하는 함수만 사용 가능하다. protected : 클래스 내에 존재하는 함수만 사용가능하다. 클래스는 서..
머신 러닝과 OpenCV 머신 러닝(machine learning) 주어진 데이터를 분석하여 규칙성, 패턴을 찾는 것 이를 이용하여 의미있는 정보를 추출하는 과정을 나타낸다. 학습(train) : 데이터로부터 규칙을 찾아내는 과정 모델(model) : 학습에 의해 결정된 규칙 예측(predict) : 새로운 데이터를 학습된 모델에 입력으로 전달하고 결과 판단하는 것 레이블(label) : 훈련 데이터에 대해 정답에 해당하는 내용 지도 학습(supervised learning) 지도 학습은 정답(label)을 알고 있는 데이터를 이용하여 학습 진행 회귀(regression)와 분류(classification)으로 나뉜다. 비지도 학습(unsupervised learning) 훈련 데이터의 정잡에 대한 정보..
크기 불변 특징점 검출과 기술 코너는 회전 불변 특징점이다. 하지만 영상의 크기가 변경되는 과정에 있어서 코너가 아닐 수 도 있다. 위 그림을 통하여 크기가 다른 두 객체 영상을 코너 점을 이용하여 같은 위치를 판별하는 것에는 한계가 있다. SFIT(Scale Invariant Feature Transform) 알고리즘 영상의 크기 변화에 무관하게 특징점을 추출하기 위해 입력 영상으로부터 스케일 스페이스(Scale space)를 구성한다. 스케일 스페이스는 다양한 표준편차를 이용한 가우시안 블러링을 적용하여 구성한 영상 집합이다. 한줄의 영상을 옥타브(octave)라고 부른다. 입력 영상의 크기를 가로, 세로 반으로 줄여가며 여러 옥타브를 구성한다. SIFT알고리즘에서 크기에 불변한 특징점을 검출할 때,..
해리스 코너 검출 영상의 특징 영상으로 부터 추출할 수 있는 정보를 뜻한다. 밝기 정보, 히스토그램, 에지, 직선 성분, 코너 등이 있다. 지역 특징 : 영상 전체가 아닌 일부 영역에서 추출할 수 있는 특징 코너(corner) 엣지의 방향이 급격하게 변하는 부분. 엣지나 직선 성분 등의 다른 지역 특징에 비해 분별력이 높고 대체로 영상 전 영역에 골고루 분포한다. 해리스 코너 검출 void cornerHarris(InputArray src, OutputArray dst, int blockSize, int ksize, double k, int borderType = BORDER_DEFAULT); #해리스 코너 응답함수 값을 계산하는 함수 FAST코너 검출 해리스 코너는 수학적으로 코너의 특성을 정의함. 하..
템플릿 매칭 템플릿 : 찾고자 하는 대상이 되는 작은 크기의 영상 입력 영상에서 작은 크기 영상 위치를 찾아내고 싶은 경우 템플릿 매칭을 이용한다. 마스크 처럼 이동하면서 비슷한 위치를 찾아낸다. 유사도 : 유사도 접근일 경우 비슷한 부분 영상 위치에서 값이 크게 나타남 비유사도 : 비슷한 부분에서 영상 위치 값이 작게 나타남 void matchTemplate(InputArray image, InputArray templ, OutputArray result, int method, InputArray mask = noArray()); #템플릿 매칭을 수행하는 함수 오른쪽 하얀색인 부분 유사도 최대값 그곳에 템플릿 영상이 존재한다. 매칭 결과로 바운딩 박스 처리하면 검출 완료 캐스케이드 분류기와 얼굴 검출 ..
레이블링 배경과 객체를 구분한 다음 다시 객체를 구분하고 분석하는 작업이 필요하다. 레이블링(Lbeling) 영상 내에 존재하는 객체 픽셀 집합에 고유 번호를 매기는 작업으로 구성 요소 레이블링 이라고도 한다. 객체인식을 위한 전처리 과정으로 자주 사용한다. 일반적으로 이진화된 영상에서 수행한다. 4방향 연결성 과 8방향 연결성 레이블링에 의해 고유 번호가 있는 2차원 정수 행렬이 만들어짐 이러한 2차원 정수 행렬을 레이블 맵(label map)이라고 한다. int conntectedComponents(InputArray image, OutputArray labels, int connectivity = 8, int ltype = CV_32S); #레이블링 적용하는 함수 int connectedCompoe..
영상 이진화 영상의 이진화(Binarization) 영상의 픽셀을 두 개의 분류로 나누는 작업 Roi와 그렇지 않은 관심 영역으로 나누는 작업 영상의 이진화는 값을 0 or 255로 지정한다. (검은색과 흰색으로 나눈다) T임계값을 기준으로 이진화를 적용한다. double threshold(InputArray src, OutputArray dst, double thresh, double maxval, int type); #영상의 이진화를 진행하는 함수 적응형 이진화 영상의 모든 픽셀에 대해 같은 임계값을 적용하여 이진화 수행하는 방식을 전역 이진화라고 한다. 영상의 밝기 값이 다르기 때문에 전역 이진화의 한계가 존재한다. 따라서 각 픽셀마다 서로 다른 임계값을 사용하는 기법이 적용된다. 정해진 블록에서 ..
모폴로지(Morphology) 연산 영상을 형태학적 측면에서 다루는 기법 다양한 영상 처리 시스템에서 전처리, 후처리 형태로 사용 수학적 모폴로지 개념 사용 A는 입력 영상을 의미하고 B는 구성 요소(마스크)를 의미한다. 이진 영상의 침식(Erosion) 연산 객체 영역이 감소 하지만 잡임이 제거 된다. 마스크가 영상에 다 들어와야 마스크 중앙 영상을 연산한다. 이진 영상의 팽창(dilation) 연산 객체 부분이 증가하지만, 객체 내부의 홀(hole)이 감소한다. 마스크가 영상의 부분에 걸치기만 하더라도 마스크 중앙에 연산을 실행한다. 열기(Opening) 연산 침식 연산 후 팽창 연산 수행 닫기(Closing) 연산 팽창 연산 후 침식 연산 수행 모폴로지 연산을 이용한 외각선 검출 원본 영상에서 침식..