Code keeps breaking no matter what I try - visual-studio-2010

Ive been trying to get my very simple code that I posted here: SiftFeatureDetector .detect function broken? to work.
But it keeps breaking, it compiles fine but refuses to run.
I have OpenCV 2.4.2, Windows XP.
Here is what I have done:
I first tried it on Visual C++ 2010 with OpenCV 2.4.2, I have added all the libraries included in F:\opencv\build\include along with the non-free ones I have also linked the bin folder in linker: F:\opencv\build\x86\vc10\lib
But it continues to break at that same line. It is very frustrating as Aurelius mentioned my code worked on his machine.
I then took out my second laptop and installed codeblocks on it, I linked all the correct libraries and dll files but it gives a different error:
the procedure entry point __gxx_personality_v0 could not be located in the dynamic link library libstdc++-6.dll
Can anyone PLEASE help me fix this issue, its been 3 days now and i dont feel Im near a solution. Its so frustrating when my code is ok but the application refuses to work. Its obviously some wrong setting. Please help me fix this.
Thank you
I would like to mention that simple programs like displaying an image, itterating over pixels, changing color and detecting a color works fine, its this sift that is causing the problem

There are many similiar topics on stackoverflow like libstdc++-6.dll not found
Google: https://www.google.pl/search?q=libstdc%2B%2B-6+opencv&sugexp=chrome,mod=9&sourceid=chrome&ie=UTF-8
To sum it up as it says about different problems.
First of all you are using downloaded builds. This builds can be done with different compilator version than yours and it's probably the issue.
Solution: compile OpenCV on your computer, link those libs and use dlls then everything should work

Related

CMake path for Oculus SDK

it might very well be that this question is ill-posed.
What I try to do is compile a code from GitHub here https://github.com/stereolabs/zed-oculus
to get the ZED stereo camera video displayed inside the Oculus.
I am working with Visual Studio for this project and unfortunately I am a total newbie with CMake. I came across several tutorials how to work with CMake and while I understand how to add include directories for a VS solution (without using CMake) I completely do not understand what these 2 beginning parts of CMake-code are trying to do:
SET(OCULUS_PATH "OCULUS_SDK_ROOT_DIR-NOTFOUND" REQUIRED CACHE STRING "Path of OVR SDK folder. eg: C:\\ovr_sdk_win_0.17.0\\OculusSDK")
SET(SDL_PATH "SDL2_ROOT_DIR-NOTFOUND" REQUIRED CACHE STRING "Path of SDL2 folder. eg: C:\\SDL2-2.0.
I don't know even the correct syntax to use for the folders. On my system I have the Oculus SDK under C:\OculusSDK and the SDL under C:\SDL. Unfortunately all the examples I've found on StackOverflow so far look completely different or are using Linux based folder script.
So could please someone explain to me what the above rows of code are trying to accomplish and what code should I use given the names of my directories?
Thanks a lot!

Compiling YouCompleteMe on Windows gives "CM libraries found in old YouCompleteMe/python location" error

I've followed these directions exactly.
I was able to compile mingw32-make ycm_support_libs and it produced the necessary ycm_core.pyd, ycm_client_support.pyd, and libclang.dll files. However, I get this message when starting vim:
YCM libraries found in old YouCompleteMe/python location; please RECOMPILE YCM.
I have verified that all the tools I've used are 64bit version. Anything I find on the web about this just says to run ./install.sh --clang-completer, which should be doing exactly what mingw32-make ycm_support_libs does.
I was so close too! Any help?
The file that is produced from the compile doesn't need to be moved. This was an old instruction that is now obsolete. I've managed to get C/C++ auto-complete working on Windows 7.
https://github.com/Valloric/YouCompleteMe/issues/1172
From the above link: Oh I see... sorry :P Anyway I don't know when was the last time someone modified the wiki page on installing YCM on Windows. The wiki page is community maintained. The error is caused by the fact that before YCM was splitted in two repo (this one for the vim client, and one for the general backend, ycmd) the compiled libraries were putted in YouCompleteMe/python now instead are putted in YouCompleteMe/third_party/ycmd. Anyway we can continue to discuss this but I have to close this issue since is not a YCM bug and Windows is not supported officially.

Cinder + FreeImage + XCode

I am working on a project that uses Cinder for graphics, and for image loading, we are using FreeImage mainly for loading HDR images.
It is all working fine under windows, but now I am trying to build an OSX version I am hitting a snag.
First I tried to download and build FreeImage, but the makefiles are hopelessly outdated and do not work. I managed to fudge them and build the library, but when adding to xcode it didn't seem to link. The error was that the library was ignored because it was built with a different architecture. (I couldn't figure out how to fix this, but it is an option to go back to if all else fails).
Anyway, my next attempt was to use macports to install and build FreeImage. This all worked without error and I was able to include the library in my project.
However, the problem now it that I get many std linking errors. After searching around, it seems my problem is that freeimage was built with libstdc++, but cinder complains if I dont build my project with C++11.
So, is there any way of fixing this? Can I modify the make files macports uses to build freeimage? Or is there some other sneaky way? Any suggestions appreciated.
Sorry if this question is a bit parochial, but in my searches I have seen others with similar problems (but unfortunately few answers).

Setting up OpenCV 2.4.2 on MS Visual Express 2010

I'm trying to set up OpenCV2.4.2 in VS2010 but not succeeding. I downloaded the OpenCV file on sourceforge.net to the directory C:\Opencv, and lib folder is missing as expected.
When trying to build/generate library files using the guide from the OpenCV wiki, the SVN repository generator fails to download, although I'm connected to the internet wirelessly.
I have tried to set up OpenCV2.1 on VS2008 and that worked without major problems.
Is there an easier way to get the required library files, etc., without much sweat?
It feels a bit awkward to answer your own question, but let me do it. I followed this link < http://www.youtube.com/watch?v=kZvjTTK9zTw > to install OpenCV 2.3.1. I thought it was not working as I could not load the image successfully.
Apparently, I made one big mistake: the image file extension. The name of the file was ending with .jpg, and I was trying to load the 'filename', changed it, then it worked fine.
Following the link above was, for me, even simpler than the opencv.org tutorial. I imagine following the same instructions as in the video would also apply for OpenCV 2.4.2.
Thx all...
Ruzzar

Totally Lost on "Installing" OpenCV / ctypes-opencv for Python 3

edit: The real solution to this is now that OpenCV supports python 3. I'm leaving the details below for anyone who happens to be stuck with an old setup.
I'm trying to get OpenCV working with Python 3. A friend showed me ctypes-opencv that appears to work with Python 3. The problem is I totally can not figure out how to "install" or get any code working. I've followed all instructions I could find from a few people mentioning installs on google and none of those seemed to work or I couldn't even get through the basics that they mentioned.
I am just hacking around with the version of IDLE that came with Python 3. No IDE.
Start with OpenCV:
The only windows installer for OpenCV 2.1 is a visual studio installer. I assume that means that it installs files that make it easier to use in Visual Studio. However, does it also mean that I can't use that installer with Python 3? I tried the vs installer together with ctypes-opencv as below, and I got errors that the dlls were not in my path (but my path variable did include the OpenCV bin folder with dlls). Is this the wrong direction?
The apparent alternative is to build OpenCV myself. I tried following the directions here and all I get is "project files may be invalid" from the CMake gui application when pressing the "Configure" button. Same when following these hints from Stack Overflow. I'm suspicious that this is also the wrong direction since I am not currently using any of the tools that are listed in the CMake configure. Is this also the wrong direction?
Next ctypes-opencv:
I installed this and the installer recognizes Python3.1 and puts itself into the site-packages folder. If I try to run demos, it tells me the dlls are not in the path although they are, as mentioned above.
Summary:
I think I generally understand each piece here (code, compile, dll, imports, ...) but I do not know how all the pieces fit together and where I am going wrong. Can someone please tell me what steps or understanding I am missing here?
I get the feeling that I need to be reading a book or two to fill in the holes in my understanding of how all these pieces fit together. I wouldn't even know what area of books to get though so any suggestions there would be appreciated as well.
Python's ctypes is a wrapper around the opencv dll files, as long as you can point to the compiled libraries it doesn't matter what the source code is set up to be edited in. For windows I would simply run the installer, then try to load the dll with ctypes. If you can get that far, any other errors can be fixed by looking at the ctypes wrapper file and editing the load section to look like your test file.
Christoph Gohlke maintains Windows binaries for many Python packages, including the production version of OpenCV 3.0 with Python 3.x bindings, released 4 June 2015:
http://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv
To install, just download the 64-bit or 32-bit .whl file appropriate for your system, then run pip install [filename]. Then the instruction import cv2 should work in your Python 3.x interpreter.
Yakiimo san, OpenCV 2.1 DLL can be loaded with ctypes. I have tested it.
p.s. I have set the C;\OpenCV2.1\bin in Env Path.

Resources