簡體   English   中英

在處理和OpenCV中使用Minoru 3D網絡攝像頭的立體視覺

[英]Stereo Vision with Minoru 3d Webcam in Processing and OpenCV

我最近購買了一台Minoru 3d網絡攝像頭( http://www.minoru3d.com/ ),希望用它在OpenCV中進行立體視覺。 我認為我在訂購它之前已經做了適當的研究,證明它可行,但所有這些資源都已經存在了很多年。

目前,雖然可以忽略OpenCV。 我正在使用處理只是試圖分別訪問兩個相機。 看起來有些人已經在各種語言中取得了成功,但文檔很少,最后只是讓我圈起來。

在Processing中運行Capture.list()命令會生成一個列表

name=Vimicro USB2.0 UVC PC Camera,size=640x480,fps=5
name=Vimicro USB2.0 UVC PC Camera,size=640x480,fps=30
etc
name=Vimicro USB2.0 UVC PC Camera,size=640x480,fps=5
name=Vimicro USB2.0 UVC PC Camera,size=640x480,fps=30
etc
My Laptops Webcam

雖然我可以訪問第一組,但副本是空白的,其他軟件有設備“Minoru 3D網絡攝像頭”,如Skype等。考慮到這一點,我只能看到設備工作在一塊捕獲隨CD中安裝的軟件。 Skype已將其列入其中,但表示正在使用它,或只是等待和等待。 注意,可以從紅色/藍色更改為此並排。

Minoru 3d在軟件中工作

我正在運行Windows 7 64位,並盡力找到最新的驅動程序。 如果我有一台Linux電腦工作,我肯定會嘗試,但目前這不是一個選擇。

如果我可以並排訪問一個“Minoru 3D網絡攝像頭”,那就太好了。 但即使聽說它肯定不會工作也會有所幫助。

我有這個配置(Windows 7 64位,opencv 2.4.9)。 為了使minoru 3d功能化,我已經重新編譯了帶有USE_DSHOW標志的opencv。 實際上,只需要有一個新的opencv_highgui249.lib和dll重新編譯為DirectShow,你需要Windows SDK

我遇到了與您完全相同的問題(Windows 7 Enterprise,64位)。 我目前在Opencv master分支,為Visual Studio 2010 C ++構建。

在幾個晚上沒有捕獲兩個Minoru相機與例如: VideoCapture cap1(1); ::Sleep(200); VideoCapture cap2(2); if (!cap1.isOpened() || !cap2.isOpened()) { return -1; } ... // stereo calibration VideoCapture cap1(1); ::Sleep(200); VideoCapture cap2(2); if (!cap1.isOpened() || !cap2.isOpened()) { return -1; } ... // stereo calibration VideoCapture cap1(1); ::Sleep(200); VideoCapture cap2(2); if (!cap1.isOpened() || !cap2.isOpened()) { return -1; } ... // stereo calibration我通過反復試驗發現,如果出現以下情況,兩台攝像機都被正確捕獲:

  1. 使用默認的Microsoft Vimicro USB2.0 PC Camera驅動程序。 即我已完全卸載隨CD附帶的Minoru軟件。

  2. 將Minoru插入USB 2.0端口。 如果我將Minoru插入USB 3.0端口,兩個攝像頭都會亮起,但OpenCV僅從其中一個攝像頭捕獲 - 相當無法用於立體視覺。

我發現了一個簡單的應用程序在樹莓派上使用python運行opencv可以幫助你。 用於處理圖像的代碼是:

Example.py

import cv2
import numpy as np

c = cv2.VideoCapture(0)
c.set(3,1280)
c.set(4,480)

while(1):
    _,visao = c.read()

    esquerdo = visao[0:480, 0:640]
    direito = visao[0:480, 640:1280]
    cv2.imshow('esquerdo',esquerdo)
    cv2.imshow('direito',direito)

    if cv2.waitKey(5)==27:
        break
    cv2.destroyAllWindows()

參考文獻是 - > http://jeaeletronica.blogspot.com.br/2013/07/how-to-run-minoru-3d-webcam-on.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM