[참고]

Qt 개발자 커뮤니티 http://www.qt-dev.com/board.php?board=qnaboard&command=body&no=478


Qt Q&A 
작성자전전전
분 류그래픽
ㆍ추천: 0  ㆍ조회: 1291       
 
 Qt 기본적인 이벤트 메시지 질문 
Qt에서 opencv로 비디오를 불러오는데에 있어
기존 콘솔 프로그램과 같이 main안의 while로 출력시 이벤트메시지를 정상적으로 받을 수 있나요?
혹은 다른 방법을 사용해야하나요?
    
이름아이콘 김대진
2016-09-28 11:12
opencv 로 영상 데이터를 불러오는 방법으로 while로 처리하면 자원을 많이 소모하므로 
좋지 않은 방법입니다. opencv로 영상 데이터를 불러오기 위해 Signal 과 Slot 을 이용하면 비동기 방식으로 영상 데이터를 가져오는 방법이 더 효율적입니다. 

OpenCV를 이용해 영상처리 알고리즘을 사용하지 않고 단순히 
영상 데이터만 가져오는 목적으로 사용하신다면 Qt 에서 제공하는 QCamea API를 사용하면 비동기 방식으로
카메라로 영상 데이터를 가져오실 수 있습니다. 

따라서 카메라 영상데이터 (RGB 로우데이터) 를 가져와 QImage로 변환하면 각 픽셀을 접근 할 수 있는 방법도 Qt에서 제공합니다. 

그리고 OpenCV로 영상처리 알고리즘을 처리해야 하는데 있어서 빠르게 처리해야 한다면 OpenCV를 사용하는 것보다는 직접 RGB 로우데이터를 접근해 영상처리를 하는것이 성능상 이점이 있습니다.

[참고]

1. 프로그래밍 언어 및 기술학습, 무료 동영상 강의

언제나 휴일 http://ehpub.co.kr/


2. 코딩도장 https://dojang.io/course/view.php?id=2


3. 꾸준함 http://jaimemin.tistory.com/category/C%2B%2B



백문불여일타! 

Type directly! And Think always.


C# 학습사이트

1. C#프로그래밍 배우기 http://www.csharpstudy.com/

[SPEC]
  • Raspberry Pi 3, Model B, 1GB RAM
  • 802.11. b/g/n Wireless LAN
  • Bluetooth 4.1
[안전 가이드]
  • 정격전압 : 5V dc
  • 최소 전류 : 2A
  • 외부전원 공급 장치에만 연결 가능
  • 외부전원 공급 장치는 사용국가에서 적용되는 관련 규정 및 표준을 준수해야 함
  • 통풍이 잘 되는 환경에서 작동해야 하며, 케이스 안에서 작동하는 경우에는 케이스가 열려 있는 상태여야 함
  • 안정적이고 평평한 비전도성 표면에 놓고 사용해야 하며, 전도성 물질과 접촉하지 않도록 해야하 함
  • 호환되지 않는 장치를 GPIO 커넥터에 연결하면 규정 준수에 영향을 주거나 장치에 손상을 줄 수 있으며 보증이 무효화 될 수 있음
  • 라즈베리파이와 함께 사용하는 모든 주변장치는 사용 국가의 관련 표준을 준수해야 하며 안전 및 성능 요구사항을 충족한다는 표시가 있어야 함.
  • 연결할 주변장치에 케이블이나 커넥터가 포함되지 않은 경우, 관련 성능 및 안전 요구 사항을 충족할 수 있도록 적절하게 절연 처리가 된 케이블이나 커넥터를 사용해 작동해야 함
[안전 사용 지침]
  • 라즈베리파이의 오작동 또는 손상을 방지하려면 작동 중 제품을 물, 습기에 노출시키거나 전도성 표면에 놓지 마십시오.
  • 제품을 열원으로부터의 열기에 노출시키지 마십시오. 라즈베리파이는 일반적인 상온에서 안정적으로 작동하도록 설계됨.
  • 인쇄 회로 기판 및 커넥터에 물리적 또는 전기적 손상을 주지 않도록 주의해 제품을 다루십시오.
  • 제품에 전원이 켜진 상태에서 인쇄 회로 기판을 다루지 마십시오. 정전기 방전 충격을 최소화하기 위해 제품을 다룰 때 모서리만 잡으십시오.
  • 라즈베리파이는 연결되어 있는 다른 장비의 USB 포트에서 전원을 공급받도록 설계되지 않았습니다. 이렇게 하면 오작동이 발생할 수도 있습니다.
[시작하기]


[참고]




[참고] http://codingcoding.tistory.com/346


[Qt 버전확인]

$qtchooser -print-env    //Qt 버전확인

$qmake --version           //QMake 버전확인



[qt4 install]

$sudo apt-get install qt4-make libqt4-dev



[참고] http://www.digipine.com/index.php?mid=programming&document_srl=788


[qt5 install]

$sudo apt-get install build-essential qtcreator qt5-default




- 리눅스는 기본적으로 개발자가 Makefile을 직접 작성

- Qt는 자동으로 Makefile을 생성하는 qmake 유틸리티 제공


[방법]

(Qt로 프로젝트 열고 코드 작업 후 작업한 경로에서 터미널 열기)

(이유는 모르겠지만 Qt로 작업하지 않고 그냥 텍스트 열어서 하면 include가 안 됨) -> arm(임베디드 보드), qt5.5.1, Qmake 3.0 버전에서는 안 됨!! (amd64(일반PC), qt4.8.7, Qmake 2.01a 버전에서는 잘 됨!) -> qt4와 qt5가 호환이 안 되는 거라 판단했는데, 생성된 .pro 파일에 "QT += widgets" 등 의 문구를 넣고 make를 실행하니 잘 됨!


$qmake -project      //project.pro 생성

$ls                        //project.pro 확인

$qmake project.pro  //Makefile 생성

$make                   //실행파일 생성






'#C&C++ #영상비전#Qt' 카테고리의 다른 글

#Qt Creator #QCamera 예제  (0) 2018.08.28
#Qt #Qt 개발자 커뮤니티  (0) 2018.08.28
#Qt #QVision환경설정  (0) 2018.08.24
#V4L2를 사용해서 이미지 캡처하기 #우분투  (0) 2018.08.23
#point grey camera #SDK 설치  (0) 2018.08.23

[참고]


1. QVision은 빠른 이미지 프로세싱과 컴퓨터 비전 시제품 개발에 적용하기 위한 무료 개발 툴킷임.
2. 스페인 Murcia 대학의 PARP Computer Perception Research Grup에서 유지해왔으며 학교와 연구용이 주된 목적임



(개인적인 생각 : 링크 연계가 잘 안 되고 왠지 OpenCV에 밀렸다는 느낌을 받음. 하지만 라이브러리 용량도 작고 빠르며 openCV와 CUDA와도 호환 해서 사용할 수 있다하여 설치 도전)  결과 : 실패 (ARM QT5 환경에서 실행)

                                         **일반PC QT4에서 재도전해보기


1. download 압축풀기 (qvision.0.8.1)

2. config.pri.example 파일명을 config.pri 로 변경

3. config.pri 파일은 에디터(vi 또는 gedit)로 열기(설치에 대한 안내가 적혀 있음)

4. $qmake --version (qmake 설치가 되어있어야 함)

5. qvision.pro 파일을 열어서 INSTALL_PATH 값을 설정

######################################################################

# Basic configuration for the library


CONFIG += QVISION


VERSION = 0.8.1


INSTALL_PATH="/usr/local/QVision"


message(QVision library version: $$VERSION)


message(Install path set to: $$INSTALL_PATH)


TEMPLATE = lib

TARGET = qvision


HEADERS += src/qvdefines.h

SOURCES += src/qvdefines.cpp


win32 : CONFIG += console # Windows console output


######################################################################


6. $qmake qvision.pro  //Makefile 생성

7. $make //실행파일 생성

8. 에러발생

....(생략)...

Makefile:972: recipe for target 'build/obj/qvip.o' failed 

make: ***[build/obj/qvip.o] Error 1



[일반 PC Qt4 버전에서 설치 해보기]  (실패! 그래도 qt5보다는 더 많이 설치 하다 오류남)

~qvision.0.8.1$ qmake qvision.pro

Project MESSAGE: --------------------------

Project MESSAGE: Qt version 4.8.7

Project MESSAGE: QVision configured for DEBUG mode

Project WARNING: Performance can increase significantly enabling RELEASE mode

Project MESSAGE: Target platform: Linux

Project MESSAGE: Included module: qvip

Project MESSAGE: Included module: qvmath

Project MESSAGE: Included module: qvblockprogramming

Project MESSAGE: Included module: qvio

Project MESSAGE: --------------------------

Project MESSAGE: QVision library version: 0.8.1

Project MESSAGE: Install path set to: /usr/local/QVision


$make

...(생략)...

/usr/bin/ld: cannot find -lglut

collect2: error: ld returned 1 exit status

Makefile:260: 'lib/libqvision.so.0.8.1' 타겟에 대한 명령이 실패했습니다

make: *** [lib/libqvision.so.0.8.1] 오류 1




[에러 참고]

https://kldp.org/node/77350

[참고]

v4l2 설치, 활성화, 사용법 

https://github.com/DaewoongP/cerule-stream/wiki/V4L2-%EC%84%A4%EC%B9%98,-%ED%99%9C%EC%84%B1%ED%99%94,-%EC%82%AC%EC%9A%A9%EB%B2%95


[공유]v4l2 드라이버 개발자 가이드

https://m.blog.naver.com/manhwamani/10185995106


[번역]vl4l2 - 드라이버 개발자 가이드

http://hoyoung2.blogspot.com/2011/06/v4l2.html




'#C&C++ #영상비전#Qt' 카테고리의 다른 글

#Qt Creator #QCamera 예제  (0) 2018.08.28
#Qt #Qt 개발자 커뮤니티  (0) 2018.08.28
#Qt버전 확인 #qt 설치 #qmake  (0) 2018.08.24
#Qt #QVision환경설정  (0) 2018.08.24
#point grey camera #SDK 설치  (0) 2018.08.23

[참고]


ARM과 임베디드 시스템에서 Spinnaker 사용하기 : https://www.ptgrey.com/tan/11145

OpenCV 시작하기 : https://www.ptgrey.com/tan/10861


https://www.ptgrey.com/support/downloads/ 에서 제품 -> 모델명 -> OS 선택 후 spinnaker SDK 다운로드


$sudo apt-get install libraw1394-11 libusb-1.0-0

spinnkaer SDK 다운로드 압축풀기

$sudo sh install_spinnaker_arm.sh


(설치화면)

This is a script to assist with installation of the Spinnaker SDK.

Would you like to continue and install all the Spinnaker SDK packages? (y/n)$y


Would you like to add a udev entry to allow access to USB hardware?

If this is not ran then your camera may be only accessible by running Spinnaker as sudo.(y/n)$y


This script will assist users in configuring their udev rules to allow access to USB devices. The script will create a udev rule which will add Flir USB devices to a group called flirimaging. The user may also choose to restart the udev daemon. All of this can be done manually as well.


Enter the name of the user to add to this user group.

$ubuntu

Is this user name ok?: ubuntu

(y/n)$y

Add user ubuntu to group flirimaging.

Is this ok?:

(y/n)$y


Writing the udev rules file.


Do you want to restart the udev deamon?

(y/n)$y


[ok] Restarting udev (via systemctl): udev.service.


Configuration complete. A reboot may be required on some systems for changes to take effect


Complete


$reboot    //재실행

[참고]

파이썬 환경변수 설정 : http://saelly.tistory.com/168

pip로 파일 설치 후 python에서 import 되지 않을 때 : http://hellogohn.com/post_one285

pip명령어로 파일이 설치되고 import가 되지 않을 때 : http://hellogohn.com/post_one284



[나의 문제] : 아직해결 못함

point grey camera의 파이썬2.7버전 SDK를 pip로 설치 했으나 import로 모듈을 불러오면 에러가 뜸


sys.path로 확인한 결과 SDK가 설치된 폴더가 /usr/local/lib/python2.7/dist-pcakages에 포함 되어 있는데 import가 안됨

참고한 블로그 방식을 적용해 보아도 import 안 됨

pip 업그레이드 해서 재설치 해봤으나 import 안 됨

SDK 삭제를 해보자. 어떻게 삭제하지? (4시간 째 헤메는 중)

$sudo pip uninstall PySpin


$sudo pip show (모둘명)  #설치된 모듈에 대한 설명과 경로 등을 알 수 있음

(예시) $sudo pip show numpy


[해결]

spinnaker SDK 설치 http://ng1004.tistory.com/19?category=778148

c++ 기반의 spinnaker SDK 설치 후 spinnaker-python SDK를 설치 해줘야 동작함. 


$import PySpin  // 에러 없으면 성공! 파이썬 2.7환경 (3.5는 나중에 도전하기)

+ Recent posts