0 意見

Build Angstrom

PC Linux:Ubuntu 10.04 (2.6.32)

Embedded Linux:Angstrom (2.6.32)


$ sudo apt-get install git-core

$ sudo apt-get install sed wget cvs subversion git-core coreutils unzip texi2html texinfo libsdl1.2-dev docbook-utils gawk python-pysqlite2 diffstat help2man make gcc build-essential g++ libxml2-utils xmlto python-psyco docbook gzip

$ sudo apt-get install chrpath


Build Openembedded


$ mkdir -p /home/islab/oe/build/conf

$ export OEBASE=/home/islab/oe

$ cd /home/islab/oe/

$ sudo git clone git://git.openembedded.org/openembedded

$ cd $OEBASE/openembedded

$ git pull

$ git branch -a

$ git checkout release-2010.12

$ cd $OEBASE

$ cp openembedded/conf/local.conf.sample build/conf/local.conf

$ gedit build/conf/local.conf


-----------------------------------local.conf----------------------------------

BBFILES = "/home/islab/oe/openembedded/recipes/*/*.bb"

DISTRO = "angstrom-2008.1"

MACHINE = "beagleboard"

-------------------------------------------------------------------------------

$ export PATH=$OEBASE/bitbake/bin:$PATH

$ export BBPATH=$OEBASE/build:$OEBASE/openembedded

$ bitbake x11-image


0 意見

OpenCV2.0 +FFMPEG on Ubuntu9.04

PC Linux:Ubuntu 9.04


下載ffmpeg

$svn co svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg

$cd ffmpeg

安裝ffmpeg

$./configure --enable-shared --disable-static

$make && sudo make install

ffmpeg安裝完成

下載OpenCV2.0

$wget http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.0/OpenCV-2.0.0.tar.bz2

$cd OpenCV-2.0.0

安裝OpenCV2.0

$./configure --enable-shared --with-ffmpeg --without-quicktime

$make && sudo make install

接下來就可以開始寫OpenCV程式啦!!!

0 意見

OpenCV2.0 + FFMPEG on BeagleBoard

PC Linux:Ubuntu 9.04

Embedded Linux:Angstrom

cross compiler:codesourcery arm-2008q3

OpenCV:2.0

編譯OpenCV2.0前必須先下載3rdparty函式庫(tiff、png等)自行編譯

opencv2.0_ffmpeg為放置編譯完成的連結檔及標頭檔

編譯FFMPEG

$./configure --prefix=/home/islab/Desktop/opencv2.0_ffmpeg --cross-prefix=arm-none-linux-gnueabi- --enable-swscale --enable-shared --disable-static

$make && make install


接下來開始編譯opencv

$cd OpenCV-2.0.0

$./configure --with-ffmpeg --without-quicktime --without-gtk --without-python --host=arm-none-linux-gnueabi --prefix=/home/islab/Desktop/opencv2.0_ffmpeg LDFLAGS=-L/home/islab/Desktop/opencv2.0_ffmpeg/lib CPPFLAGS=-I/home/islab/Desktop/opencv2.0_ffmpeg/include LIBS="-lz -lpng -ltiff -lavutil -lavdevice -lavformat -lavcodec -lswscale" --disable-static --enable-shared --disable-apps


$make && make install

修改opencv.pc!!

將opencv2.0_ffmpeg/lib中的所有.so檔打包,解壓縮到Angstrom filesystem中的/usr/lib下

yup!!! Finish!!!


0 意見

QT Touch Screen on Beagleboard (using tslib)

環境: PC Ubuntu9.04   Cross compiler: codesourcery 2008q3 or 2009q1

下載 tslib1.0,解開到目錄底下


$./configure -prefix=$PWD/../tslib CC=$(your cross-compiler path)/bin/arm-none-linux-gnueabi-gcc CXX=$(your cross-compiler path)/bin/arm-none-linux-gnueabi-g++ -host=arm-linux ac_cv_func_malloc_0_nonnull=yes
$make && make install


下載qt embedded 4.6.3版本,解壓縮開,檔案會再qt-everywhere-opensource-src-4.6.3下。 
(我這邊用4.6.3,qt 4.6對tslib其實有個編譯的bug,4.7會解掉,這邊我手動調整,然後現在qt embedded和X11版本其實是同個檔案,沒有分了)


要改這個檔案
mkspecs/qws/linux-arm-g++/qmake.conf 


也可以把linux-arm-g++複製到linux-beagleboard,改裡面的,也可以,自己清楚就好,我是直接改。


注意底下有些路徑要自己設..
改成底下這樣

0 意見

Minoru 3D Webcam + OpenCV2.0 on Ubuntu9.04

最近在Ubuntu 9.04(Kernel 2.6.28)研究如何驅動Minoru 3DCamera並且用OpenCV同時秀兩支鏡頭的影像,經過一段時間的研究,這支Minoru 3DCamera必須在Kernel版本為2.6.30UVC才有支援,或是下載最新的UVC驅動來更新才可使用!!


  • VGA 640x480 CMOS sensor
  • 內建麥克風
  • 800 x 600, 640 x 480, 352 x 288 and 320 x 240 像素輸出
  • 高達 30 fps
  • 輸出模式: 3D2D、照片
  • Picture in Picture模式
  • Side by side模式










Linux:Ubuntu 9.04 (kernel 2.6.28)
OpenCV:2.0


先至網路上http://linuxtv.org/hg/v4l-dvb/下載UVC原始碼,解開此套件後make menuconfig開始設定,接下來就直接make就好啦
$tar xvf v4l-dvb-xxxxxxxx.tar.gz
$make menuconfig
$make

經過一小段時候的編譯後,進入原始碼的v4l目錄找到3個.ko檔,分別為uvcvideo.ko、videodev.ko、v4l1-compat.ko,接下來會使用到此3個ko檔
先將ubuntu9.04上的uvc modules先移除
$sudo rmmod uvcvideo
$sudo rmmod videodev
$sudo rmmod v4l1-compat

接著就將上步編譯出來的uvcvideo.ko、videodev.ko、v4l1-compat.ko掛載上ubuntu9.04
$sudo insmod v4l1-compat.ko
$sudo insmod videodev.ko
$sudo insmod uvcvideo.ko

至此已經完成UVC的更新啦!!

修改OpenCV原始碼(一般的webcam則不用修改)

接下來要修改OpenCV中對應的highgui程式碼,調整Camera接收影像之解析度,不然使用OpenCV程式來同時開Minoru Camera的兩個鏡頭會產生錯誤:VIDIOC_STREAMON: No space left on device
$./configure --enable-shared --disable-static
$make && sudo make install

接著就可以開始寫OpenCV程式啦!!!











Reference:

0 意見

X-Eye

本專案目標是開發一套具手勢人機互動介面之智慧型可攜式裝置,取名為X-Eye。考量到人機介面的周邊整合與影像高速處理需求,X-Eye採用TI雙核心架構之 OMAP3530X-Eye之硬體為自行設計的電路板,並搭配CMOS感應器模組與TI Pico DLP微投影機,因此硬體部分透過自行設計之三層機制構成具擴充性而迷你化的可攜式裝置。顏色辨識、手勢辨識與追蹤為本專題軟體之核心技術。其中將色彩以期望最大法(EM)訓練後,採高斯混合模型(GMM)分類。為配合嵌入式平台優化,將GMMLUT(Look Up Table)之資料結構。採用指套輔助手指快速定位,最後再進行手勢辨識。
本專題之成果將提供使用者一可攜式裝置,可於任何時間任何場所,以手勢擷取眼前影像,並在任一平面投影輸出影像,最大可達42英吋。此外,還可以手勢管理影像資料庫,將指定影像傳輸至具無線網路功能之其它電子設備中。
關鍵詞:人機互動介面、雙核心架構、顏色辨識、手勢辨識與追蹤、期望最大法(EM)、高斯混和模型(GMM)LUT

The goal of this project is to develop a smart portable device, named the X-Eye, which provides a gesture interface for human-computer interaction (HCI). Considering high-speed image processing requirements in the gesture-based HCI, we adopt TI’s dual-core architecture and choose the OMAP3530. The X-Eye‘s hardware is a self-designed circuit board with a CMOS sensor module and TI Pico DLP projector. The hardware is designed by a three-layer mechanism which can constitute a scalable and tiny device. Color identification and gesture recognition are the core of the software technologies in the project. We use the expectation-maximization algorithm and Gaussian mixture model (GMM) for the classification of colors. To improve the performance of the GMM, we devise a LUT (Look Up Table) data structure. Finally gesture recognition is applied to recognize user’s gesture commands.
The result of this project is a small portable device which can achieve any-time any-where interaction to capture images, and project output images on any plane as large as 42 inches. In addition, you can also manage the image database in the device and select images by gesture interface. The selected images will be transferred through wireless network from the device to other electronic devices.
 
Keywords: human-computer interaction, dual-core, color identification, gesture recognition, expectation-maximization algorithm, Gaussian mixture model, LUT


Our Concept

What We Want? 
Hardware
vAn embedded system with powerful processor
§for high computation, e.g. image processing
vProjector
§for portable large displays
Software
vLinux-based development environment
§for sensing unitprocessing unitcommunication unit
vC/C++, NO JAVA!
§for high computation, e.g. image processing

The X-Eye System

Results

本軟體系統共同作者為 范景棠、陳劭昂、陳厚燁、戴悅如,也獲得



98學年度大學校院網路通訊軟體與創意應用競賽 系統設計組  第三名



本系統目前僅實踐簡單之應用於系統,目前對於其他的應用也正在開發,我們會把焦點放在影像的應用,這個系統目前僅使用到ARM端就可以做到即時系統,但後續的應用會不夠用,因此我們也在開發ARM+DSP連結系統,以及DSP端的影像處理程式。同時系統之硬體,我們也預計換為自行開發之FJUCam2。




以上的目標現在也都有些初步成果,日後我們會再慢慢將一些成果po上。