2014-04-17 10 views
9

Niedawno kupiłem kamerę internetową Minoru 3d (http://www.minoru3d.com/) w nadziei, że użyję jej do wykonania wizji stereo w OpenCV. Myślałem, że przeprowadziłem odpowiednie badania, zanim złożyłem zamówienie, sprawdzając, czy to zadziała, ale wszystkie te zasoby mają kilka lat.Stereofoniczna wizja z Minoru 3d Webcam w przetwarzaniu i OpenCV

W tej chwili, chociaż OpenCV można zignorować. Używam przetwarzania, próbując uzyskać dostęp do obu kamer oddzielnie. Wygląda na to, że niektórzy ludzie odnieśli sukces w różnych językach, ale dokumentacja jest skąpa, a na końcu po prostu zabiera mnie w kółko.

Prowadzenie Capture.list() polecenie w przetwórstwie wytwarza liście

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 

Chociaż mogę uzyskać dostęp do pierwszego zbioru, duplikaty są puste, a inne oprogramowanie posiada urządzenie „Minoru 3D Webcam” takich jak Skype itp. Mając to na uwadze, widziałem tylko urządzenie działające w jednym pakiecie oprogramowania do przechwytywania, które zostało zainstalowane wraz z urządzeniem z płyty CD. Skype ma to na liście, ale mówi, że jest w użyciu, lub po prostu czeka i czeka. Zauważ, że można zmienić z czerwonego/niebieskiego na tę obok siebie.

Minoru 3d Working in Software

Używam Windows 7 64 bit, i starałem się znaleźć najnowsze sterowniki. Gdybym miał działający komputer Linux, zdecydowanie bym spróbował, ale w tej chwili nie ma takiej opcji.

Gdybym tylko mógł uzyskać dostęp do "Minoru 3d Webcam" z nią obok siebie, byłoby świetnie. Ale nawet usłyszenie, że zdecydowanie nie działa, byłoby pomocne.

+0

Hmmm ... kilka krótkich pytań: 1) na jakim jesteś OS i czy na płycie instalacyjnej znajdują się sterowniki dla wielu systemów operacyjnych? 2) Co stanie się po ustawieniu obiektu przechwytywania na jeden z duplikatów i wywołaniu na nim metody start()? << zgodnie z ich witryną to * powinno * pokazywać jako duplikaty btw, dopóki nie zainstalujesz sterownika >> –

+0

Kilka lat temu (2?), odniosłem pewien sukces w dostępie do Minoru na MacOS przez OpenCV. Mógłbym jednak uzyskać dostęp tylko do 1 z 2 kamer w tym samym czasie, tj. Mogłem uzyskać ramki z pierwszej kamery, do której się adresowałem (a następnie jednego z nich), a następnie dostałem błąd w segmencie, gdy tylko próbowałem pobrać dane z drugiej kamery jeden. – sansuiso

+1

Edytowałem post z dodatkowymi informacjami. I nie jestem pewien, czy płyta, która pochodzi z 2008 roku, ma dodatkowe systemy operacyjne. Znalazłem stronę lub dwie, które korzystają z kamery w Linuksie. –

Odpowiedz

1

Mam tę konfigurację (Windows 7 64 bity, opencv 2.4.9). Aby uczynić minoru 3d funkcjonalnym, ponownie skompilowałem opencv z flagą USE_DSHOW. W rzeczywistości jest to tylko konieczne, aby mieć nową opencv_highgui249.lib i dll ponownie skompilowany Dla DirectShow, musisz systemu Windows SDK

0

miałem dokładnie ten sam problem jak ty (Windows 7 Enterprise 64 bit) . Obecnie jestem w głównej gałęzi Opencv, budując dla Visual Studio 2010 C++.

Po kilku wieczorach nie udało się zarejestrować obu kamer Minoru za pomocą np. : VideoCapture cap1(1); ::Sleep(200); VideoCapture cap2(2); if (!cap1.isOpened() || !cap2.isOpened()) { return -1; } ... // stereo calibration I okazało się, metodą prób i błędów, że oba aparaty zostały zrobione poprawnie, jeżeli:

  1. użyty domyślny Microsoft Vimicro USB2.0 PC Camera Driver. To znaczy. Całkowicie odinstalowałem oprogramowanie Minoru dostarczane z płytą CD.

  2. Tylko podłączył Minoru do portu USB 2.0. Jeśli podłączę Minoru do portu USB 3.0, obie kamery zaświecą, ale OpenCV przechwytuje tylko z jednej z kamer - raczej nie nadaje się do oglądania stereo.

0

Znalazłem prostą aplikację działającą z opencv z pythonem na raspberry pi, która może ci pomóc. Kod używany do przetwarzania obrazu to:

Przykład.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() 

Mowa tu ->http://jeaeletronica.blogspot.com.br/2013/07/how-to-run-minoru-3d-webcam-on.html.