Coder Social home page Coder Social logo

nikolaseu / neuvision Goto Github PK

View Code? Open in Web Editor NEW
278.0 26.0 80.0 21.64 MB

Structured Light based 3D scanner

License: GNU General Public License v3.0

QMake 0.28% C++ 87.45% MATLAB 0.26% Objective-C++ 0.21% QML 6.35% Shell 0.23% Ruby 0.01% GLSL 0.51% CMake 4.61% Batchfile 0.10%
3d-scanner camera projector opencv structured-light structured-light-for-3d-scanning

neuvision's People

Contributors

nikolaseu avatar stephengroat avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

neuvision's Issues

zpointcloudlibraryplugin

I entered this and now I fill it in well
I don't know if it can help

#include <boost/process.hpp>
#define BOOST_USE_WINDOWS_H
#include <boost/interprocess/managed_shared_memory.hpp>

How to run camera calibration part?

Hi @nikolaseu I just watched your video on YouTube about camera calibration using your this software. It looks so amazing and I want to try the camera calibration part.
I want to ask that how I can run it kindly mention basic steps.
And I have a suggestion that also publish your camera calibration software as stand alone software because it can solve camera calibration problem for many users.

configuration file

all work ok
now i need the ini file
with an opencv camera
and a projector

please authorize me
where am i wrong?

[StructuredLightSystem]
Type=Z3D::ZBinaryPatternProjection
Mode=singlecamera
Cameras/Type=Z3D::zopencvvideocapture
cameracalibration/ConfigFile=..\tmp\cameracalibration\20200201120920_ZOpenCV-94336528.ini
PatternProjection/Type=Z3D::ZBinaryPatternProjectionPlugin

.obj

hello , i didnt compile yet , I just went through the code I just found things related to opening .obj, I didn't find anything about exporting .obj files , so does your system export obj or any kind of 3D file extensions ?

Errors occur after "cmake .."

This project is executed on ubuntu 16.04LTS and errors occur after "cmake .."
-- Found Git: /usr/bin/git (found version "2.24.1")
-- [MunkeiVersionFromGit] Version: 0.2.0
Git tag: [0.2.0]
Git hash: [ged21873]
Decorated: [0.2.0-1-ged21873]
Identifiers: []
Metadata: [ged21873.20200120184158]
SemVer: [0.2.0+ged21873.20200120184158]
-- The CXX compiler identification is GNU 5.4.0
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
This is a release build (CMAKE_BUILD_TYPE=Release)
-- The C compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Found OpenCV: /usr/local (found version "3.4.1")
CMake Error at /usr/lib/x86_64-linux-gnu/cmake/Qt5/Qt5Config.cmake:26 (find_package):
Could not find a package configuration file provided by "Qt5Multimedia"
with any of the following names:

Qt5MultimediaConfig.cmake
qt5multimedia-config.cmake

Add the installation prefix of "Qt5Multimedia" to CMAKE_PREFIX_PATH or set
"Qt5Multimedia_DIR" to a directory containing one of the above files. If
"Qt5Multimedia" provides a separate development package or SDK, be sure it
has been installed.
Call Stack (most recent call first):
lib/zcameraacquisition/plugins/zqtcamera/CMakeLists.txt:6 (find_package)

-- Configuring incomplete, errors occurred!
See also "/media/zeng/work/neuvision/build/CMakeFiles/CMakeOutput.log".

The command "git init" doesn't work! Could you please give me some suggestions?

cmake error

Selecting Windows SDK version 10.0.18362.0 to target Windows 6.1.7601.
This is a release build (CMAKE_BUILD_TYPE=Release)
CMake Error at lib/zcore/CMakeLists.txt:31 (set_target_properties):
set_target_properties called with incorrect number of arguments.

CMake Error at lib/zgui/CMakeLists.txt:37 (set_target_properties):
set_target_properties called with incorrect number of arguments.

CMake Error at lib/zcameraacquisition/CMakeLists.txt:38 (set_target_properties):
set_target_properties called with incorrect number of arguments.

i have problems with cmake

the toolbar of Z3DcameraViewer.exe cannot be pulled down and selected

Dear Nicolas Ulrich,
I ran this project after the following steps:

  1. installing opencv4.1.1-1 and pcl1.9.1-10 with vcpkg on windows10-64bit system;
  2. use cmake 3.16.4 and visual studio 2017 to build the project;
  3. copy the dll files of qt 5.14.1, the plugins of qt to the build/Release/bin file;
  4. copy the dll files of opencv and pcl packages within vcpkg.
    But the toolbar of Z3DcameraViewer window cannot be opened, which may be caused by the generated ZcameraAcquisition.dll file.

However, when I copied the Z3DcameraViewer.exe to the enviroment you provided in NEUVision-Windows-x64-v0.2.0-0-gb1c7aa9-build-352.zip on github (https://github.com/nikolaseu/neuvision/releases), the toolbar of Z3DcameraViewer.exe can be pulled down and selected. So I would like to ask the following questions:
1) On window10-64bit system,which versions of qt and cmake do you choose?
2)I'm not very sure that the key of the problem is the dll file. Could you please give me some suggstions?
Thanks very much!

Scan function problem

Hello,
I have three problems:

  • When I calibrate cameras using MultiCameraCalibration, i can't update and save calibration file. It is not implement yet?
  • Stereo preview camera in MultiCameraCalibration doesn't work after calibration camera.
  • Point cloud is not generated, When I click scan button.

First problem and second problem isn't critical, because MultiCameraCalibration save calibration in tmp directory. I try resolved third problem. I think problem is in this section:

`
Z3D::ZPointCloudPtr ZStereoSystemImpl::triangulate(const cv::Mat &leftColorImage, const cv::Mat &leftDecodedImage, const cv::Mat &rightDecodedImage)
{
//! TODO compute this once and keep in memory?
cv::Mat rmap[2][2];
for (size_t k = 0; k < 2; k++) {
cv::initUndistortRectifyMap(m_calibration->cameraMatrix[k], m_calibration->distCoeffs[k], m_R[k], m_P[k], m_imageSize, CV_16SC2, rmap[k][0], rmap[k][1]);
}

cv::Mat leftColorRemapedImage;
cv::remap(leftColorImage, leftColorRemapedImage, rmap[0][0], rmap[0][1], cv::INTER_LINEAR);
cv::Mat leftRemapedImage;
cv::remap(leftDecodedImage, leftRemapedImage, rmap[0][0], rmap[0][1], cv::INTER_LINEAR);

cv::Mat rightRemapedImage;
cv::remap(rightDecodedImage, rightRemapedImage, rmap[1][0], rmap[1][1], cv::INTER_LINEAR);


qDebug("%i %i %i", leftColorImage.type(), leftDecodedImage.type(), rightDecodedImage.type());

switch (leftRemapedImage.type()) {
case CV_32F: // float
    return process<float>(leftColorRemapedImage, m_Q, leftRemapedImage, rightRemapedImage);
default:
    qWarning() << "unkwnown image type:" << leftRemapedImage.type();
}

return nullptr;

}
`

Because, leftColorRemapedImage has invalid format type. It should be CV_32F and it is CV_8U. So, process function isn't call.

My Hardware:

  • HDMI Projector
  • 2x Point Grey Camera with USB interface

one camera

when you finish the project with one
camera?
so from that moment I can help you on the web there is no modern solution that works, I tried them all

Hey

How is this project coming any closer to a windows binary?

Opencv camera Settings number

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

the camara cannot take photos right after a gray code is projected on the object

Dear Nicolas Ulrich,
I find the the camara cannot take photos right after a gray code is projected on the object, that is,
the camera does not match well with the projector. When a gray code is projected on the object,
the camera cannot take photos before the arrival of the next gray code. The camera does not work during the projector's projecting process, either.
Is there any solution now?Thanks.

Windows binary

Is is possible to provide a Windows binary and necessary libraries. I would like to try this project but don't have the necessary skills to compile

chose one of: Z3D::ZStereoSLSPlugin

how to solve it?
z3d.zstructuredlight.zstructuredlightsystemprovider: structured light type not found: "" (available types: "Z3D::ZStereoSLSPlugin" )

answer:
open file Z3DScanner.ini
[StructuredLightSystem]
Type="Z3D::ZStereoSLSPlugin"

but i have new error
z3d.zstructuredlight.slsystems.stereo.zstereoslsplugin: mode not found: "" (available modes: "DualCamera, Projector+Camera" )

need manual how run software and Z3DScanner.ini example

Configuration file

Could you explain more about this config file that is missing as mentioned in the README ?

Cannot find "-lopencv_..."

Hello, I am a student very new in this area and currently facing a few errors while running this software on QT creator for my project.

Initially I have assigned the libraries to PATH, but when i run them. My QT is unable to find the lib which already exist in my computer, hence i manually type down the full address of the library into the code, and the QT will than be able to find the lib.

secondly, i received this error:
C:/test/Tools/mingw530_32/bin/../lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -lopencv_core300d
C:/test/Tools/mingw530_32/bin/../lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -lopencv_imgproc300d
C:/test/Tools/mingw530_32/bin/../lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -lopencv_imgcodecs300d
C:/test/Tools/mingw530_32/bin/../lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -lopencv_videoio300d
C:/test/Tools/mingw530_32/bin/../lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -lopencv_calib3d300d
C:/test/Tools/mingw530_32/bin/../li
cannot find -lopencv_calib3d300d
C:/test/Tools/mingw530_32/bin/../lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -lopencv_features2d300d
C:/test/Tools/mingw530_32/bin/../lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -lopencv_flann300d
collect2.exe: error: ld returned 1 exit status
mingw32-make[4]: *** [........\neuvision-master\bin\debug5\zcameraacquisitiond1.dll] Error 1
mingw32-make[3]: *** [debug] Error 2
mingw32-make[2]: *** [sub-src-make_first] Error 2
mingw32-make: *** [sub-lib-make_first] Error 2
15:34:45: The process "C:\test\Tools\mingw530_32\bin\mingw32-make.exe" exited with code 2.
Error while building/deploying project NEUVision (kit: Desktop Qt 5.9.0 MinGW 32bit)
When executing step "Make"

I reinstalled OpenCV3.0, but the issue isn't solved.
May i know that do i need to do to solve this error...Is it my manual change of code caused this problem? Or do i need to add extra lines of codes to solve this issue.

Thankiew for your time!!!

Too messy project files

It seems you really had done well project but it is nested too much.
It is really hard to follow.
Project inside project inside project and goes on.
Do you have any simplified version for multi camera calibration?

Failed to execute Git: fatal: No names found, cannot describe anything.

I used QT creator to open this project, but something went wrong.
E:\neuvision-master\cmake\MunkeiVersionFromGit.cmake:65: error: [MunkeiVersionFromGit] Failed to execute Git: fatal: No names found, cannot describe anything. CMakeLists.txt:8 (version_from_git)
I don't know why. What should I do to run correctly?

Instructions for setup are needed

hi @nikolaseu
Nikolas, you are doing a great job!
I am trying to set up the project. It's not clear how to adjust all the configs properly.
Is there or planning any manual for config files?
For example, how to calibrate Camera+Projector config - especially the projector part
Or how to set up Dual Camera config?

Thank you!
Again, you are doing a great job, I really appreciate it!

not ready for single camera ?

Cattura

ini one camera
[StructuredLightSystem]
Type=Z3D::ZStereoSLSPlugin
Mode=Projector+Camera
Camera/Type=Z3D::ZOpenCVVideoCapturePlugin
StereoCalibration/Type=Pinhole
StereoCalibration/ConfigFile=tmp/multicameracalibration/20200221200723/20200222112816.multicameracalib.yml
PatternProjection/Type=Z3D::ZBinaryPatternProjectionPlugin

or something wrong?

Cattur1a

ini two camera
[StructuredLightSystem]
Type=Z3D::ZStereoSLSPlugin
Mode=DualCamera
Cameras/Left/Type=Z3D::ZOpenCVVideoCapturePlugin
Cameras/Left/Name=Left
Cameras/Left/Folder=../sample/left
Cameras/Right/Type=Z3D::ZOpenCVVideoCapturePlugin
Cameras/Right/Name=Right
Cameras/Right/Folder=../sample/right
StereoCalibration/Type=Pinhole
StereoCalibration/ConfigFile=tmp/multicameracalibration/20200221200723/20200222112816.multicameracalib.yml
PatternProjection/Type=Z3D::ZBinaryPatternProjectionPlugin

The outputs of reprojectImageTo3D() function are not real coordinates of the points!

The project uses reprojectImageTo3D() function provided by OpenCV to compute the 3-D coordinates of points. However, the 3-D coordinates of points are not the real world coordinates of the points, either the camera coordinates of the points. Could you give me some suggestion to compute the real world coordinates without reprojectImageTo3D() function?

i am nooby

hello i know nothing about programming just html , anyway many anyone help me to compile on windows please

camera FPS mono color

hello i am planing to buy 3 cameras from ximea.com , one uses USB PCIe ( for 12 mb 3000 fps ) and USB 3 , and finally super small one use usb 3 as well , and the SDK and API is available , so should i go mono or color ? and what about FPS so is higher FPS is a good idea or bad ? i want super detailed scan please respond

Z3DMultiCameraCalibration.ini

I'm finding this project super interesting and I'd really like to see it running. I managed to get everything compiling under Windows, but I've hit a roadblock when running the project.

Unless you have an existing .ini file set up, then it doesn't pick any cameras. I can see that there is some UI in the code for selecting cameras, but it isn't exposed in the main ui.

Do you have a way to set up an .ini or otherwise generate one? Or perhaps there's a way to easily expose the camera selector ui?

ALIAS target is missing?

Why does this error exist?

/home/san/neuvision/lib/zcore/CMakeLists.txt:15: error: Target "ZCore" links to target "Qt::Core" but the target was not found. Perhaps a find_package() call is missing for an IMPORTED target, or an ALIAS target is missing?

I don't understand which package is missing

Best Regards

Onur Güzeldemirci

webcam

hello i have problem importing cameras :/ so i wonder can i run webcam out of the box support opencv ? on windows

Latest Release crashes when opening Z3DScanner.exe

Faulting application name: Z3DScanner.exe, version: 0.0.0.0, time stamp: 0x5e17775a
Faulting module name: ZStructuredLight.dll, version: 0.0.0.0, time stamp: 0x5e177739
Exception code: 0xc0000005
Fault offset: 0x0000000000007820
Faulting process id: 0x3e0c
Faulting application start time: 0x01d62451a2db6ab6
Faulting application path: G:\Chris\Downloads\NEUVision-Windows-x64-v0.2.0-0-gb1c7aa9-build-352(1)\Z3DScanner.exe
Faulting module path: G:\Chris\Downloads\NEUVision-Windows-x64-v0.2.0-0-gb1c7aa9-build-352(1)\ZStructuredLight.dll
Report Id: d690ca6e-b67d-45e1-86b7-a3289fd72c4f
Faulting package full name:
Faulting package-relative application ID:

configuration file

hello my friend did compile but the 3d scanner application didnt work may you help us to make it work please , thank you

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.