목록Image Processing (12)
:: ADVANCE ::
영상처리 시스템의 기반이 고속/고성능의 컴퓨터에서 휴대폰이나 디지털 카메라와 같은 임베디 드 환경으로 이동함에 따라 성능, 가격, 크기 등 새로 운 제약사항이 발생하게 되었다. 특히 영상정보는 단위 프레임 당 수십~수백만 화소의 방대한 데이터로 구성되어 있으며 대다수의 영상처리 알고리즘이 이러한 데이터를 기반으로 하는 연산의 반복적인 수행을 필요로 하기 때문에, 이에 따른 성능 저하 문제는 임베디드 환경에서의 영상처리 응용에 큰 걸림돌로 작용하고 있다. 이와 같은 이유로, 임베디드 환경이 가지는 여러 제약사항을 만족시키면서 복잡한 영상처리 알고리즘을 실시간으로 처리하기 위한 전용/범용 하드웨어 구조와 소프트웨어 프로그램에 대한 연구가 다방면에서 진행되고 있다. FPGA는 ‘프로그램 가능한 게이트 배열’이..
[참고] http://techholic.co.kr/archives/38235
[SIFT] orientation assignment 회전에 불변인 특성을 지니기 위해 지배적인 방향을 구해야 한다. keypoint를 중심으로 일정 크기의 윈도우 내에 그레디언트 방향 히스토그램을 구한다.방향은 360도를 10도씩 양자화 하여 36개의 값을 가지며크기는 그레디언트 값을 가중치로 가지며 추가로 가우시안을 씌워 중심에서 멀어질수록 작은 가중치를 곱하게 한다. 이렇게 구한 히스토그램에서 가장 큰 값을 가지는 방향을 지배적인 방향으로 삼으며,최고값의 80%에 해당하는 값이 존재할 경우 그것도 지배적인 방향으로 삼아 새로운 키포인트로 삼는다. ----------->[Low 2004] 논문을 보면 이를 한꺼번에 계산하는 식이 존재한다.한꺼번에 계산하는 식인 걸까? 아무튼 그래디언트 및 가우시안을 ..
[SIFT] 일정 1.31) gaussian Image get* 너무 느려서 FULL_Image (640 * 480)을 resize (320 * 240)으로 수정 2) dog Image get3) local min, local max point get4) keypoint display to Image 1.4 TODO : gaussian Image & dog Image unsigned char -> double 로 수정해서 keypoint 확인해보자 double 로 수정완료메모리는 포기했지만, 기분탓인거 같지만 keypoint가 더 정확해진 듯 하다. 원래는 예비 keypoint에서 getting rid of low contrack keypoint 작업remove low contrast features 작..
[MFC] Dialog based MFC 기본 영상처리 window 만들기 visual studio 2015 기준 Windows Programming을 배우지도 않았고 집중해서 공부해 보지 않았지만 openCV를 이용하지 않은 영상처리를 하기 위해 vfw 라이브러리를 이용한 간단한 dialog 기반의 mfc 프로젝트를 만들어 보았다. 이 설정은mfc 기능이나 제공되는 기본 code를 최대한 수정하지 않고 추가 되는 소스 (웹캠 연결을 위한)는 최소한으로 하였다. 프로젝트 이름은 ImageProcessBase라고 하였다. 생성되는 기본 파일은 - ImageProcessBase.cpp - ImagePrecessBaseDlg.cpp - stdafx.cpp이 세가지 이다. (헤더파일은 따로 있다) 먼저 Imag..
[error] LINK2005 이미 정의되어 있습니다. error LNK2005: 어쩌구저쩌구 .obj에 이미 정의되어 있습니다. FMOD를 삽입하면서 GameProc.cpp에 있던것을 useFMOD.h 와 cpp 에 옮겨 담았는데 계속해서 저런 오류가 났다. 원인은 바로, 변수들을 헤더 파일에 집어 넣었던것. GameProc -> useFMOD.h 로 호출하면서 한번 변수 정의가 되고, 다시 GameProc -> useFMOD.cpp 에 있는 -> #include "useFMOD.h" 로 중복 선언 되기 때문이다. [참고] http://egloos.zum.com/etstnt/v/5098661
[DC] DC (Device Context) cairo로 windows에 그림을 그릴 때 Windows DC가 필요하다. Windows는 3개의 DLL(동적 연결 라이브러리)로 구성되어 있다. - KERNEL : 메모리 관리 및 프로그램 실행 - USER : 유저 인터페이스와 윈도우 관리 - GDI : 화면 처리와 그래픽 담당 Windows API 함수는 대부분은 이 세가지 DLL에 의해 제공되는 것이다. 즉, Windows 의 클라이언트 영역에 그리기를 하려면 이 GDI(Graphics Device Interface) 함수를 사용해야 한다.그리고 HDC는 'Handleto a Device Context'로 GDI의 중요한 부분이다.-> DC 개체를 참조하는데 사용되는 번호라는 의미이다. DC 란,출력에..
[CALLBACK] CALLBACK Function callback 함수는 WinAPI 프로그래밍 할 때 자주 보는 함수이다. -> 호출되는 함수를 알려주어 다른 프로그램 또는 다른 모듈에서 함수를 호출하게 하는 방법.일반적으로 운영체제가 호출할 application의 함수를 지정해 특정한 event 또는 message가 발생되었을 때 호출되도록 지정할 수 있는 함수를 말한다. 그냥 함수 호출과 callback 함수 호출의 차이점은 "제어권"에 있다. 일반적으로 함수 호출은 조건 1이면 함수 1을 호출해서 처리, 2이면 2를 호출해서 처리 하는 방식이다.즉, 어떤 처리가 필요할 때 함수를 호출해서 작업을 맡기는 식이다. 하지만 callback 함수는 사용자가 필요할 때 호출해서 사용하는 것이 아니고,'어..
[LRESULT] LRESULT & CALLBACK 윈도우 라이브러리를 이용한 영상처리를 할 때콜백 함수를 보면 반환형이 LRESULT이다. 그렇다면 LRESULT와 CALLBACK이라는 데이터형은 무엇일까 윈도우 프로시저를 보면 LRESULT와 CALLBACK이라는 데이터형이 존재한다. LRESULT는 long type으로 Win32환경에서 메세지 처리를 마친 후 운영체제에게 신호를 주기 위해 사용하는 값이다. 즉, LRESULT는 윈도우 프로시저에서 반환되는 데이터형 CALLBACK은 FAR PASCAL을 재정의한 것으로, 콜백루틴이나 프로시저에서 사용한다고 책에 나온다. 비주얼 C++에서 보면 LRESULT는 다음과 같이 선언되어 있다. #define LRESULT LONG long의 리턴값을 사용..
[Watermarking] 워터마킹 --> 유래 : 700년 전 이태리의 여러 제지 제조업자들이 각자 자신들이 제조한 종이를 구분하기 위하여 눈에 잘 띄지 않게 자신들만의 문자나 기호 등을 삽입한 표시에서 유래되었다. --> 워터마킹 : 디지털 영상 및 음성 등의 데이터에 디지털 기술을 이용하여 인지되지 않도록 정보를 은닉시키는 기술 --> 워터마크 : 워터마킹에 사용되는, 저작권이나 정보를 담은 문자나 기호, 그림 등 인터넷을 이용하여 많은 양의 정보를 손쉽게 다른 곳으로 전송할 수 있다는 장점은 동시에 비합법적인 도용-불법복제-를 허용할 수 있다는 단점이 될 수도 있다. 특히 인터넷으로 디지털화된 멀티미디어 정보(영상, 음성, 및 문자)를 전송하는 경우 각 정보에 대한 각종 저작권(intelligen..