Ieee 1394 카메라를 usb로 전환하여 사용하는 방법중에 에러가 뜹니다

일단 참조 페이지는 이쪽입니다.

http://www.tldp.org/HOWTO/libdc1394-HOWTO/index.html

카메라는 Pointgray회사 제품중 Dragonfly 제품입니다.

리눅스에 IEEE1394 카드를 꼽아 그 카드에 연동되는 카메라를 사용하는 방법이 위쪽에 보면 나와 있습니다.

저 나름대로 해석해서 위 자료 4.3절에 보면 Coriander라는 프로그램을 이용하여 IEEE1394 카메라가 잘 나오는지 확인을 했습니다.

문제는 여기서 libdc1394를 다시 설치할때 usb로 설정을 잡아주면 usb쪽으로 포트가 이동되는데요…(나름대로 해석한겁니다.)

그래서 Coriander프로그램을 실행시켰더니 화면이 뜨다가 갑자기 죽어버리면서 터미널 창에 이렇게 나오는군요

Segmentation fault <–이렇게 나오는데요… 이 에러가 제생각엔 메모리 접근에 실패했거나 메모리를 제대로 할당 못받아서 생기는

그런 에러로 보여지는데요…

이건 단지 제생각일 뿐이라서 좀 막막합니다.

혹시라도 이 에러에 대해서 아시는분 있으시거나 겪어보신분들… 좀 도와주세요…

추가적으로 리눅스에서 카메라 이미지를 볼수 있는 프로그램이 뭐뭐 있는지도 좀 갈켜주세요…

Coriander 프로그램 자체의 오류가 있을수도 있어서 테스트를 해보고 싶네요…

ps. 리눅스 왕초보자 입니다. 사용한지 3일 정도된 왕초보자이니 자세하게 설명 부탁드립니다…

http://www.tldp.org/HOWTO/libdc1394-HOWTO/index.html

http://www.ptgrey.com/support/kb/index.asp?a=4&q=17&ST=

[quote:3k2wnr0i]
4.3. Coriander: A GUI for the libdc1394 library

Coriander helps in easy handling of the IEEE1394 cameras. It uses the above discussed functions and libraries and provides a GUI for them. The main advantage of Coriander is that it saves time that is normally wasted in camera setup. Also, Coriander shows only those features and attributes that are present on the camera and hence you can judge how useful the camera will be for your application development. The most important feature of Coriander is its ability to display the captured image at run-time.

Coriander also allows the user to convert a BGGR image to RGB. We will discuss the meaning of these types of images in detail in later sections. Some files that can be useful in understanding the functionality of Coriander are:

1.thread_iso.c
2.Camera.c
3.main.c

The Coriander homepage contains an excellent user manual which can be useful in case of any difficulty: http://damien.douxchamps.net/ieee1394/c … manual.php.

Our use of Coriander was limited only to checking that the camera was working properly and confirming the focus was correct. We will give some more usage information for Coriander in later sections.
[/quote:3k2wnr0i]

4.3 섹션은 이런내용인데요… 그냥 Coriander이 얼마나 유용한 프로그램인지에 대한 설명이네요.
또한 다시 언급하니 링크에 나오는 내용을 살펴 보면요.

[quote:3k2wnr0i]
With the exception of the Digiclops and Bumblebee cameras, Point Grey Research does not provide Linux support or Linux-compatible software and therefore may be unable to answer any questions regarding development or use of the camera within this operating system.

Note: Point Grey Research is in the process of developing Linux support in the next major release of the FlyCapture SDK. We anticipate a release date during the first quarter of 2009.

Point Grey recommends using the libdc1394 package from SourceForge to develop Linux-compatible applications for FireWire or USB cameras. The libdc1394 package includes some sample programs that demonstrate basic image acquisition and camera control.
libdc1394 Support for USB Cameras

Point Grey USB 2.0 cameras are designed to implement the IIDC 1394-based Digital Camera Specification. Beginning with version 2.1.0, you can use the libdc1394 package to program applications against Point Grey USB cameras. To enable the libdc implementation of IIDC over USB, you must have libusb-1.0 or later installed on the machine on which you compile applications. No other modifications to your application are necessary.

Note: The libdc1394 implementation of IIDC over USB is not supported with other USB cameras. It is only supported on Point Grey USB cameras because of our implementation of the IIDC specification.

[/quote:3k2wnr0i]
이런 내용인데요. 이 내용은 1394를 usb로 사용이 가능하다는 내용은 아니구요. 영어가 익숙하지 않으셔서 잘못 이해 하신듯하네요.

설명하자면 "Point Grey USB 2.0 cameras are designed to implement the IIDC 1394-based Digital Camera Specification." 이 말이 핵심이에요. 즉 이 USB2.0 카메라는 개발시에 1394 카메라를 기반으로 개발이 되었다는 소리지 1394를 USB로 바꿔서 사용이 가능하다는 뜻은 아니거든요.

그리고 추가로… 이방법은 야메나 그런거라기 보다는… "libdc1394"가 USB 카메라도 지원을 한다는 말이 있구요. 그러나, 다른종류의 USB카메라는 " IIDC over USB"를 지원하지 않는다네요.

즉, "Point Grey USB 2.0 cameras"는 개발시에 1394를 베이스로 하는 디지틀 카메라를 근간으로 만든거라 libdc1394를 이용해 사용이 가능하다는 뜻입니다.

마지막으로…

사용을 하기 위해선 이회사에선 2009년 상반기에나 리눅스 브라이버를 내놓을 예정인듯 한데… 현재로선 "libdc1394"를 이용해서 사용하라고 되어있는데… 이것말고도 "libusb-1.0"이나 혹은 상위 버전의 라이브러리가 필요하다고 하네요. 혹시나 libusb를 빼먹으신건 아니신지요 ?

Eugene 님 일단 번역 감사합니다 +_+;; ( 영어에 무지해서 죄송합니다… ㄷㄷ)

지금 libdc1394를 이용해서 하는중입니다.

거기에다가 libusb 최상위 버전을 설치 하였습니다.

그래서 Coriander 프로그램을 이용해보니 카메라 모듈이 잡히는거 까지 확인했구요…

문제는 Display 창을 열었을때 그와 동시에 이런메시지가 뜨면서 종료 된답니다.

Segmentation fault

라고 하면서요…

나름 이상한 해석가지고 열심히 했지만… 힘드네요;;

나이트님의 글을 보니 제가 웬지 무례한 댓글을 달은건 아닌가 반성하게 되네요. 그랬다면 용서를 해주세요 ^^;; 그런취지는 아니였기에…

단지 1394를 USB로 전환한다는 말이 오해를 불러올 수 있기에 바로 잡고 싶었던거 뿐인데.

질문하신 내용에는 정확한 장치 모델명을 알려주시지 않은거 같은데 정확한 모델명을 알려주시고, 실질적으로 어떤식으로 하셨는지 서술을 정확하게 해주신다면 경험있는 분들이 도움을 드리기 좀더 용이 하지 않을까 하네요. 대부분의 문제는 잘되야 하는것들이라면 세세한 부분에서의 문제인 경우가 대부분이니까요.

잘 해결되길 바래요.

Eugene 님… 에고… 신경쓰게 해서 미안합니다… 저도 글을 어케썻는지… 보시기 불편하셔서 죄송합니다.

일단… usb로 하는거는 보류가 되었네요;;

덕분에 문제에 대해서 해결을 못하고 가게 되어서 대단히 유감입니다.

나중에라도 꼭 잡아야겠습니다.

일단은 IEEE1394로 다시 방향을 잡았으며 이전에 해놓았던걸로 이젠 작업을 하면 될꺼 같네요…

근데 리눅스에 무지한 저(리눅스왕초보)로써는 windows 기반에 visual stdio 이런기반만 사용해서 그런지…

저로서는 터미널이 너무도 낯설군요…

vi 로 하면 된다고 하는데 이역시 공부를 해야할꺼 같네요;;

아… 이젠 멀 건들여야 할지 너무나도 막막하네요…

약간의 팁좀 갈켜주실분…ㄷㄷㄷ

또 이렇게 염치없이 부탁드립니다.

[quote="knight0304":1rbnjvx5]근데 리눅스에 무지한 저(리눅스왕초보)로써는 windows 기반에 visual stdio 이런기반만 사용해서 그런지…

저로서는 터미널이 너무도 낯설군요…

vi 로 하면 된다고 하는데 이역시 공부를 해야할꺼 같네요;;

아… 이젠 멀 건들여야 할지 너무나도 막막하네요…

약간의 팁좀 갈켜주실분…ㄷㄷㄷ

또 이렇게 염치없이 부탁드립니다.[/quote:1rbnjvx5]
Vi 쓰시라고 강력히 권해 드리고 싶습니다만, IDE에 익숙하시다면 이클립스도 괜찮습니다. 혹은 다른 IDE 들도 많습니다. 아래 글타래를 참조해 보세요. :)

viewtopic.php?f=18&t=3459