話說有一天,有機會玩到 Himax 3D結構光的camera module產品
https://www.himax.com.tw/products/intelligent-sensing/structured-light-3d-sensing/
這是一顆非標準UVC的相機模組,為什麼是非標準呢?
主要就是因為這顆模組 會吐兩種 streaming資料,streaming #1 是output 近紅外線與深度資料
Streaming #2 是output YUV2 RGB資料
所以說,如果用skype或是line視訊鏡頭方式去開啟,是無法順利看到preview畫面的
且從文件中看到,必須用Himax客製過的 uvc library 才能指定 streaming.
(可以從這邊的SDK下載相關文件與source code https://www.himax.com.tw/wp-content/uploads/2021/08/Linux.zip)
以下來記錄一下如何在 ubuntu 18.04下編譯 himax sh430uh source code,並順利運行在ubuntu上
---
解壓縮後,source code 檔案目錄結構如下
.先安裝 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)
以上作紀錄,並與大家分享。
留言列表