'JPEG'에 해당되는 글 2건

  1. 2009.10.30 SystemC로 하는 JPEG 코덱 설계
  2. 2009.04.24 JPEG2AVI 를 맥에서 빌드하기
Books2009. 10. 30. 13:59
사용자 삽입 이미지
시중에 나온 대부분의 SystemC책들은 아직 SystemC 자체를 가리키는 데 목적을 두어서 응용편에서는 한없이 취약합니다. 원서들도 마땅히 그런 책을 찾아보기 힘듭니다.
이번에 발견한 책은 Amazon Japan에서 발견한 책입니다.

물론 이 책은 1/2 정도는 SystemC를 설명하고 있고 그 나머지 부분에서 JPEG을 설계하는 것을 알려주고 있습니다.  Untimed Functional Model에서  Cycle Accurate 모델까지 차례로 발전시켜 나가면서 설계를 하고 있습니다. 이러한 설명법은 모델간 차이점을 실제 구현에서 확인해 볼 수 있는 좋은 접근법입니다.

소스코드는 이책의 출판사 사이트에서 다운 받을 수 있을거라고 설명되어 있지만, 아직 사이트에 올라오지는 않은것 같구요..  2005년도 버전이라서 약간 예전 SystemC 코드를 사용한다는 점이 아쉽지만, 실제 구현예를 볼 수 있는 유일한 서적에 가까우니 권할 만 합니다. 이 책으로 완전한 JPEG을 구현하겠다는 분이 보신다면 좀 아쉬울 것입니다. 그냥 SystemC 코드의 실제 응용 예를 보는데 만족한다면 충분히 좋은 책입니다.

책은 JPEG 전체를 설명하지 않고 DCT 부분만 설계를 하고 있고 나머지 부분은  mcore라고 하는 프로세서를 연결시켜서 하게 되어 있습니다. 예전에 다른 문서를 보면 이 mcore는 도시바에서 (기억이 가물가물합니다. ) 사용한것으로 설명된 자료를 본적이 있습니다.

혹자가 말하길 이제 일본어는 제 2 외국어 축에 못낀다고 하죠.. 이 책의 일본어는 마크로스 대사를 외우시는 분들이 본다면,  쉽게 따라가면서 읽어 볼 수 있는 수준의 책입니다.  물론 책장에 한권 영어 말고 일본어 서적이 꽂혀 있으면 원서만 꽂아놓은 다른 분들 책장 보다 더~~~~욱 반짝이는 가오 효과를 볼 수 있다는 점도 장점입니다.


Posted by GUNDAM_IM
Computer Vision2009. 4. 24. 19:19

JPEG2AVI 를 맥에서 빌드하기


소스 코드는 이곳에서 다운로드 하면 됩니다.


http://sourceforge.net/projects/jpegtoavi/



README를 읽어보면 큰 문제는 없습니다. 그냥  make all을 하면 된다고 합니다.


하지만


make all


을 하면 다음과 같은 에러가 발생합니다.


gcc  -O3 -Wall -ansi -g -DLINUX -D__UNIX__ -DVERSION_MIN=5 -DVERSION_MAJ=1 -DVERBOSE=0 -c jpegtoavi.c -o jpegtoavi.o

In file included from jpegtoavi.c:28:

byteswap.h:5:20: error: endian.h: No such file or directory

byteswap.h:10:3: error: #error "Aiee: __BYTE_ORDER not defined\n";

jpegtoavi.c: In function ‘main’:

jpegtoavi.c:204: error: ‘off64_t’ undeclared (first use in this function)

jpegtoavi.c:204: error: (Each undeclared identifier is reported only once

jpegtoavi.c:204: error: for each function it appears in.)

jpegtoavi.c:204: error: syntax error before ‘jpg_sz_64’

jpegtoavi.c:206: error: nested functions are disabled, use -fnested-functions to re-enable

jpegtoavi.c:206: error: syntax error before ‘MAX_RIFF_SZ’

jpegtoavi.c:344: error: ‘jpg_sz_64’ undeclared (first use in this function)

jpegtoavi.c:351: error: ‘riff_sz_64’ undeclared (first use in this function)

jpegtoavi.c:354: error: ‘MAX_RIFF_SZ’ undeclared (first use in this function)



(1) endian.h는 machine/endian.h에 있다.

이를 수정한다.


== WAS ==

#include <endian.h>

#include <sys/types.h>

== IS ==

#include <machine/endian.h>

#include <sys/types.h>


(2) 나머지 에러는 그냥 다음과 같이 하여서 코드에 추가합니다.


#ifndef _OFF64_T_DEFINED

#define _OFF64_T_DEFINED

        typedef long long  off64_t;

#endif


그 후에 컴파일 하면 빌드가 잘 됩니다.



사용법은 간단합니다. 헬프를 치면 금방 알 수 있습니다.


jpg2avi -f fps imagesize jpegfile list > dst.avi


     -f fps : frame per second입니다.

     imagesize : Width , Height를 구분하여 입력합니다.

    그리고 jpeg file 이름을 나열합니다.


좀 황당한것이 avi 파일로 받기 위해서는 파이프를 통하여 받습니다.

파일로 세이브 할 것이지 정말..


하여튼 동작은 잘 합니다.


 ./jpegtoavi -f 1 844 633  IMG_1.jpg IMG_2.jpg IMG_3.jpg IMG_3.jpg IMG_4.jpg IMG_5.jpg IMG_6.jpg IMG_7.jpg IMG_8.jpg IMG_9.jpg > img.avi


첨부 파일은 img.avi를 올렸습니다.




다 올리고 홈피에 올리니,

사파리에서는 동영상이 잘 안보이네요

익스플로어에서는 보이는데,


이러다가 사파리를 고쳐야 할런지도~



'Computer Vision' 카테고리의 다른 글

Rob Hess의 SIFT [7]  (1) 2009.04.30
OpenCV - Alpha Blending cvAddWeighted , cvFillPoly  (2) 2009.04.25
OpenCV - cvSmooth  (2) 2009.04.22
Rob Hess의 SIFT [6]  (0) 2009.04.18
OpenCV - Convert Image  (0) 2009.04.11
Posted by GUNDAM_IM