zed相機網上資料都是關於安裝的教程,後續的一些使用介紹的不是很多,
因為官方文件已經介紹的很詳細,這裡介紹一下自己的學習過程,以備查閱,如有錯誤,敬請指正。
這是官方文件,所有的資訊都是根據這兒得來的。
因為zed相機屬於uvc(usb video device class )裝置,所以可以用作雙目攝像頭直接用於計算機或者嵌入式平台,和普通的雙目攝像頭應該沒什麼區別。
但是如果要使用其sdk,就需要cuda環境。一開始不知道,打算用在台式電腦(intel hd graphics 4600整合顯示卡)上,後來發現需要nvidia。只好轉用我的t470(總算能幹點活了)。按照這個教程下來,基本沒問題。
以上的這些應用只能讓我們看到zed的一些功能。用來做開發,自然少不了sdk.花乙個小時把這個文件大概看一些。基本上就可以上手開發了。
docs/getting-started/
因為我要識別網球。很小,距離也很遠。一開始打算用點雲去做,濾波後提取滿足條件的聚類。但pcl庫沒接觸過。後來看到這篇文章
我在深度圖中也看不到飛行的網球,zed開發人員也不建議直接用從深度圖中去找。深度圖是立體矯正匹配後得到的。於是我直接從矯正後的影象中去找兩個球的對應點,得到視差。最後計算出三維座標值。
因為我需要的幀率比較高,而且在關鍵時刻需要穩定,但是得到的svo檔案開啟時(需要sdk),發現幀率一直在變化,而且某些幀率變得很低,不太清楚為什麼。一下是我錄製是的**。
import pyzed.sl as sl
# create a zedcamera object
zed = sl.camera(
)# create a initparameters object and set configuration parameters
init_params = sl.initparameters(
)init_params.camera_resolution = sl.resolution.resolution_hd720 #解析度設定
init_params.camera_fps =
60#幀率設定
err = zed.
open
(init_params)
if err != sl.error_code.success:
exit(1)
runtime_parameters = sl.runtimeparameters(
)runtime_parameters.sensing_mode = sl.sensing_mode.sensing_mode_standard # use standard sensing mode
# enable recording with the filename specified in argument
err = zed.enable_recording(
'video_frame_test.svo'
, sl.svo_compression_mode.svo_compression_mode_lossless)
image_zed = sl.mat(zed.get_resolution(
).width, zed.get_resolution(
).height, sl.mat_type.mat_type_8u_c4)
point_cloud = sl.mat(
)print
('svo is recording')n=
200pretimestamp=
0dif_time =
while n>0:
if zed.grab(runtime_parameters)
== sl.error_code.success :
# each new frame is added to the svo file
zed.record(
) zed.retrieve_image(image_zed, sl.view.view_left)
timestamp = zed.get_timestamp(sl.time_reference.time_reference_current)
# get the timestamp at the time the image was captured
diftimestamp = timestamp - pretimestamp#時間戳之差
pretimestamp = timestamp#上一幀時間戳
#n = n-1
print
(diftimestamp)
#儲存於乙個列表
#print(n)
# else:
# key =cv2.waitkey(1)
# print('jump.')
# disable recording
zed.disable_recording(
)zed.close(
)
這裡要實名表揚zed的技術支援。傳送了詢問郵件很快就得到了恢復。最終找到了問題所在。
因為我在thinkpad t470p上使用的該攝像頭。技術支援說可能是因為geforce 940mx不支援在最大幀率下工作。後來我進行了一些實驗。發現在720p下,設定為15幀和30幀基本上不會有掉幀。但在60幀時就比較嚴重。所以我猜想可能是因為這個問題。另外,在720p時,即使呼叫sdk也不能設定任意幀數,好像只有,15,30,60三個選項。
ZED相機的使用
下面簡要說明一下zed雙目相機的使用 首先zed的相機必須要nvidia顯示卡支援,沒有的同學可以洗洗睡了,或者你可以拿來當普通相機用。這裡以c vs2019 為例,官網給的是用cmakelists.txt生成的解決方案,我這裡就直接自己新增了,本質其實一樣。首先新建乙個專案,在屬性中新增附加包含目...
ZED相機 關於ZED openCV的介紹
前段時間利用zed相機捕獲點雲的步驟有些忘記了,簡單的做個文件方便以後檢視。首先檢視自己電腦是否是nvidia的顯示卡 先安裝cuda10 因為cuda只支援nividia的顯示卡,所以如果是其他顯示卡的話就用不了zed相機了 安裝opencv3.1 參考其他部落格opencv3.1的安裝,最好配合...
Jetson TX2 ZED相機開發環境搭建
1.jetson tx2 刷機 可以參考我的另外一篇部落格 2 購買這款攝像頭時附帶u盤裡面的sdk 3.安裝 chmod x zed sdk linux jtx2 jp3.2 v2.6.1.run zed sdk linux jtx2 jp3.2 v2.6.1.run4.例程測試 進入安裝檔案所在...