話說有一天,有機會玩到 Himax 3D結構光的camera module產品

https://www.himax.com.tw/products/intelligent-sensing/structured-light-3d-sensing/

image

 

這是一顆非標準UVC的相機模組,為什麼是非標準呢?

主要就是因為這顆模組 會吐兩種 streaming資料,streaming #1 是output 近紅外線與深度資料

Streaming #2 是output YUV2 RGB資料

image

 

所以說,如果用skype或是line視訊鏡頭方式去開啟,是無法順利看到preview畫面的

 

且從文件中看到,必須用Himax客製過的 uvc library 才能指定 streaming.

(可以從這邊的SDK下載相關文件與source code https://www.himax.com.tw/wp-content/uploads/2021/08/Linux.zip)

 

image

以下來記錄一下如何在 ubuntu 18.04下編譯 himax sh430uh source code,並順利運行在ubuntu上

---

解壓縮後,source code 檔案目錄結構如下

image

 

.先安裝 opencv 

install opencv
----
sudo apt-get install libopencv-dev python-opencv

.之後切換到 src目錄,準備編譯 (在此感謝同事的協助)

compile
-------
gcc ./test-sh430uh.c -s -Wall -Wno-write-strings -lX11 `pkg-config --cflags --libs opencv` `pkg-config --libs opencv`  -luvc -L../lib/release -o test-sh430uh

參數解釋:

   -lXll :  避免有 XInitThreads error.

   `pkg-config --cflags --libs opencv`  : 指定要使用 opencv

 `pkg-config --libs opencv`  : 指定要使用 opencv

  -luvc -L../lib/release : 指定 libuvc library在 ../lib/release目錄下

  -o test-sh430uh  : 編譯成 test-sh430uh 執行檔

 

編譯成功的話,會產出 test-sh430uh執行檔

執行時如果出現 permission問題,請修改 /dev/bus/usb下的 001 , 002 owner與 group


Modify usb device permission
-------------------------------
cd /dev/bus/usb
sudo chown bgbg 001 -R
sudo chgrp bgbg 001 -R
sudo chown bgbg 002 -R
sudo chgrp bgbg 002 -R

 

之後準備執行,

Execute execute file
---------------------

//to avoid error while loading shared libraries
export LD_LIBRARY_PATH=/home/bgbg3/opencv/libuvc-x86-64-linux-ubuntu-18.04-SH430UH-20210705/lib/release/
./test-sh430uh
 

順利在ubuntu上執行就會看到以下的畫面:

.目前這個demo test-sh430uh 只能看到RGB streaming2的畫面,但是NIR與DEPTH畫面有出現error,無法顯示。(To Do item)

Screenshot from 2022-12-05 16-16-30

 

 

以上作紀錄,並與大家分享。

 

arrow
arrow
    創作者介紹
    創作者 CuteParrot 的頭像
    CuteParrot

    馴龍窩

    CuteParrot 發表在 痞客邦 留言(0) 人氣()