본문 바로가기

Computer Vision

Matlab에서 여러장의 데이터셋 이미지 처리하기 Matlab을 처음접하고 여러장을 봐야할 일이 생겼다. OpenCV경우 strcat이나 sprintf를 이용해서 문자 조합하고 cvWaitKey(0); 로 자판 두들기면서 눈으로 확인하는편이었는데 Matlab에서도 그러고 싶었다. 방법은 여러가지겠지만 필자는 입력데이터폴더 따로 아웃풋데이터 폴더 따로 지정하였다. STR1 = 'D:\sample\sample_'; STR2 = '.jpg'; STR3 = 'D:\output\sample_'; for num= 100:200 filename = strcat(STR1,int2str(num), STR2); %input 파일명 조합 outname = strcat(STR3,int2str(num), STR2); %output 파일명 조합 src = imread(filen.. 더보기
HMM(Hidden markov Model) 정리된 블로그 링크 http://blog.daum.net/hazzling/15669927 더보기
[OpenCV 입문]차영상 이용한 초보CCTV 코드 OpenCV카페에 본인이 올린 강좌? 라기보다 간단한 소스입니다 ^^ 어느분의 요청으로 주석좀 보충했는데 OpenCV나 영상처리 처음 접하는분들이 약간이나마 도움이 되는 소스입니다. http://cafe.naver.com/opencv/23571 이렇게 반응이 좋을줄은.. 로그인이 싫으신분들은... #include #include #include int sub_image(IplImage*img1, IplImage*img2, IplImage*dst); void main() { IplImage * image; CvCapture* capture; capture = cvCaptureFromCAM(0); image = cvQueryFrame(capture); int cnt=0; char name[10] ; char.. 더보기
Adaboost 와 Harr-like 4 정확히 밝혀진바가 없지만 몇몇 개발자의 말에 의하면 '푸딩 카메라'라는 널리 알려진 앱이 Adaboost 와 Harr-like 를 사용한다고 한다. OpenCV 에서도 제공하고 있는 이 알고리즘은 상대적으로 빠르고 강인하여 많이 쓰이는듯 하다. '푸딩 카메라' 경우 harr-like 를 통해 Feature 를 뽑아내고 서버로 보내면 서버에서 Adaboost 로 인식하는듯 하다; Feature뽑는 연산이 이미지 전송보다 느리다면 이미지 통채로 보내서 서버에서 처리하려나? ㅎ;; 맞겠지? Adaboost : Classifier 구성하는 기법 harr-like : Feature 구성하는 기법(?) 1. Harr-like Feature는 Harr-like Filer에 의해 계산되며, 0 또는 1의 값을 갖는.. 더보기
핸드폰카메라로 보면 모자이크가 사라진다? 실제로 그럴듯하게 보이긴하지만 이는 말도 안되는 얘기다. 애초에 모자이크의 원리를 살펴보자. 모자이크의 종류도 여러가지지만 모자이크 등의 이미지 처리는 색상의 손실을 유발한다. 쉽게 말하자면 이미지를 크게 확대했을때 점 하나하나가 다 다른색깔이지만 이를 뭉개거나 합쳐서 그룹단위로 색깔을 바꾸게 된다. 개개의 점(pixel)은 자신의 색깔을 잃게 된다. 아래 사진은 예로든 모자이크 사진이다. 이미지의 점은 이웃하는점(바로옆에) 점과 색깔 차이가 거의 없다. 따라서 몇개안되는 점을 그룹화하면 거의 차이가 없기때문에 모자이크 처리가 잘 안되고 거의 원래 이미지와 차이가 없게된다 아래 사진은 그룹화되어 처리된게 보인다. 그룹화된 영역이 꽤 크기 때문에 모자이크가 아주 잘 된 케이스다. 현재 일반적으로 핸드폰 카.. 더보기
포토샵 Blur의 구현(수정) Mophology(Blur) 는 다른알고리즘으로 조금씩다르지만 기본적인 Blur 기능은 간단한 원리이다 픽셀의 그룹의 평균값을 다시 재배정한다. 아례 예는 9 x 9의 사이즈 mask(그룹)으로 알고리즘을 보여준다. /* 9x9 마스크이므로 이미지의 가로와 세로는 9로 나누어 떨어저야한다. */ /* 변수처리해주어 애초에 image->width/40 이런식으로 이미지 크기에따른 동적 마스크도 가능 */ for(i = 0 to image->width; i++) for( j = 0 to image->height; j++) { for(w=0 to 9) { for(h=0 to 9) { sum += pixelData ; //9 x 9 공간의 모든 픽셀값을 더함 } } pixelData = sum/81; //평균값.. 더보기
Fisher 판별 알고리즘 관련 논문 Fisher의 분산분석 개념 이용 선형 판별 분석법은 특징 벡터 차원의 축소 기법 중 하나이다. 간단히 정의하면 클래스간 분산(between-class scatter)과 클래스내 분산(within-class scatter)의 비율을 최대화 하는 방식이다. 집단을 나누는데 좋은 변수란 그 변수에 의해 집단이 소집단으로 나누어 졌을때 그 소집단 자체는 가능하면 동질적이야 하고 소 집단 간에는 가능하면 이질적이어야 합니다. 즉 다른 말로 하면 소집단내의 분산(WSS)은 작아야 하고 소집단 간의 분산(BSS)은 가능하면 커야 합니다. 그래서 Fisher의 아이디어는 (소집단간의 변동/전체 변동)=(BSS/TSS)를 최대로 만들어 주는 집단의 절단선을 찾는 것입니다. (1) 선형판별분석 - LDA, L.. 더보기