nikolaseu / neuvision

Structured Light based 3D scanner
GNU General Public License v3.0
287 stars 81 forks source link

Opencv camera Settings number #68

Open dentx22 opened 1 year ago

dentx22 commented 1 year ago

hello Nikolas how are you I have a problem but how do you identify the opencv cameras I have 2 but it gives me the frames from only one. opencv is made for a camera or am I doing something wrong in the *. ini ?? Thank you ZCattura

dentx22 commented 1 year ago

this is my *.ini

Z3DScanner.ini

[StructuredLightSystem] Type=Z3D::ZStereoSLSPlugin Mode=DualCamera

Cameras/Left/Type=Z3D::ZOpenCVVideoCapturePlugin Name=Left Folder=../tmp/multicameracalibration/20230218121436

Cameras/Right/Type=Z3D::ZOpenCVVideoCapturePlugin Name=Right Folder=../tmp/multicameracalibration/20230218121436

StereoCalibration/Type=Pinhole StereoCalibration/ConfigFile=tmp/multicameracalibration/20230218121436/20230218140551.multicameracalib.yml PatternProjection/Type=Z3D::ZBinaryPatternProjectionPlugin

dentx22 commented 1 year ago

does anyone know how to fix it?

nikolaseu commented 1 year ago

You can set the DeviceID

It's not great, the number might change when you connect/disconnect or reboot. But at least you can set 0 and 1 and will get different cameras.

But you should use a different plugin if possible, the one for OpenCV is not very customizable and has this issue. Or maybe it could be improved, I don't know the current options in cv::VideoCapture.

dentx22 commented 1 year ago

[ INFO:0] global F:\tools\vcpkg\buildtrees\opencv4\src\4.3.0-8460981b10.clean\mo dules\videoio\src\videoio_registry.cpp (187) cv::anonymous-namespace'::VideoBac kendRegistry::VideoBackendRegistry VIDEOIO: Enabled backends(7, sorted by priori ty): FFMPEG(1000); GSTREAMER(990); INTEL_MFX(980); MSMF(970); DSHOW(960); CV_IMA GES(950); CV_MJPEG(940) [ INFO:0] global F:\tools\vcpkg\buildtrees\opencv4\src\4.3.0-8460981b10.clean\mo dules\videoio\src\backend_plugin.cpp (353) cv::impl::getPluginCandidates Found 2 plugin(s) for GSTREAMER [ INFO:0] global F:\tools\vcpkg\buildtrees\opencv4\src\4.3.0-8460981b10.clean\mo dules\videoio\src\backend_plugin.cpp (172) cv::impl::DynamicLib::libraryLoad loa d D:\_______test_scanner\________opencv4\neuvision-374.git\neuvision-374x2.git\t est_debugx64\bin\Debug\opencv_videoio_gstreamer430_64.dll => FAILED [ INFO:0] global F:\tools\vcpkg\buildtrees\opencv4\src\4.3.0-8460981b10.clean\mo dules\videoio\src\backend_plugin.cpp (172) cv::impl::DynamicLib::libraryLoad loa d opencv_videoio_gstreamer430_64.dll => FAILED [ WARN:0] global F:\tools\vcpkg\buildtrees\opencv4\src\4.3.0-8460981b10.clean\mo dules\videoio\src\cap_msmf.cpp (436)anonymous-namespace'::SourceReaderCB::~Sou rceReaderCB terminating async callback [ WARN:0] global F:\tools\vcpkg\buildtrees\opencv4\src\4.3.0-8460981b10.clean\mo dules\videoio\src\cap_msmf.cpp (436) `anonymous-namespace'::SourceReaderCB::~Sou rceReaderCB terminating async callback

I'm redoing opencv I added the GSTREAMER I'll check tomorrow if it's better

[DeviceID] non va it doesn't work, my cameras are 1 and 2

dentx22 commented 1 year ago

DeviceID=0 DeviceID=1 nothing to do I tried in every way but sees only one at a time

dentx22 commented 1 year ago

added code for read key

result default: ("Left/Folder", "Left/Name", "Left/Type", "Right/Folder", "Right/Name", "Right/Type") that's right??

dentx22 commented 1 year ago

for 3d scanner 17:59:57.139 [0x0033B200] default: ("Left/Folder", "Left/Name", "Left/camera/Type", "Right/Folder", "Right/Name", "Right/camera/Type", "StructuredLightSystem/Mode", "StructuredLightSystem/PatternProjection/Type", "StructuredLightSystem/StereoCalibration/ConfigFile", "StructuredLightSystem/StereoCalibration/Type", "StructuredLightSystem/Type")