New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Question] Replace OpenCv default dlls with other OpenCv build #924
Comments
You just need to replace all dlls with the output emgucv compilation. I suspect you only need to replace the cvextern.dll |
Hi, I have rebuild the official OpenCv, but not EmguCv. I have try with EmguCv, but seems to be not so easy. |
You can use openCV compilation too, copy the outputs to your project bin root. And this way not not use the emgucv runtime dist. |
I don't understand so well. You mean install EmguCv nugget and after that copy binaries from OpenCv Build? |
Yes, just install the emgucv nugget and copy the dlls. It should work on bin root. However in a normal not published compilation they are located under
|
Hi, bin/Debug
And after that I have created runtimes directory as you mentioned and I have put all the dlls that I have in bin/Debug/runtime/win-x64/native
|
Theres not an option to combine all that into a single dll? |
I didn't see any cmake option to build as single dll. |
I think it's more complicated, I'll try as you say but building OpenCv with GStreamer require to fill GStremer paths and other variables. Using CMake for windows and building winth VisualStudio it seems that works (show GStreamer in GetBuildInformation() method). Thanks for your help. |
See: https://discourse.cmake.org/t/how-to-combine-all-dlls-from-subproject-into-one-dll/7235/5 |
You are sugesting to use this cmake option to build OpenCv and rename as cvextern.dll? |
Yes, it should combine all in one dll and then you can try it as cvextern.dll |
The none-GPU release of Emgu CV static linked OpenCV into cvextern.dll. You can't just replace it with opencv dlls. You will need to re-build Emgu CV with the same configuration as Open CV to generate the cvextern.dll that contains the Open CV bits with GStreamer support. The GPU release of Emgu CV use dynamic linked opencv_world.dll. You can download this nuget package for the dlls: https://github.com/emgucv/emgucv/releases/download/4.8.0/Emgu.CV.runtime.windows.cuda.4.8.0.5324.nupkg If you build opencv with GStreamer and BUILD_opencv_world enabled, you can replace the opencv_world.dll file from the above Emgu CV GPU runtime package with your own. In-theory that should give you GStreamer support using Emgu CV. We have not tested it and we do not officially support it. |
Hi, I have tried to rebuild Emgucv from scratch following documentation.
It seems it isn't working. At starting I have called |
You will also need to copy all the GStreamer dlls to the folder that contains cvextern.dll. If you still got the System.TypeLoadException after that, follow this instruction to use dependecy walker to find out what dependecy is missing from the folder of the dlls: If dependency walker reports missing dependency, copy them over to the folder where you have the "cvextern.dll". |
Finally I did it! But I'm having problems to build Gstreamer pipeline. I don't know if maybe
Thanks for your support. |
OpenCv for windows is not build with GStremer backend.
I have follow the steps to build OpenCv for Windows with Gstreamer backend because I want to do a RTSP streaming server to publish
Mat
frames as video over ethernet.How can I replace OpenCv Dlls that comes with EmguCV with the OpenCv dlls that I have build with Gstreamer.
With regards,
The text was updated successfully, but these errors were encountered: