Ask Your Question

Best Programming language for development

asked 2017-08-05 12:30:09 -0500

I am new to OPENCV and wondering what is the best language to develop in, C, C++, Python = I am comfortable with those but want to make sure that I have the quickest development with the least amount of integration issues in development. (opencv 3. and python 3. or c or c++)

Project is object identification and tracking with network server/client data storage for multi-HD-camera live video data collection and analysis of data stream. I am also looking for other that are interested in participating in this open source development.

Confidentiality agreement required during development, please let me know if you are interest and your level of development and participation. a US based development with possible global integration.

Some key facts of the development, hardware - Raspberry-pi 3 with HD PI camera, Sensor module for GPS and other sensor data, WiFi or cellar connectivity to network and a home server to collect/ compile and construct the analysis of the combined data.

If this sounds like something you are interested in please reply.

Thank you,


edit retag flag offensive close merge delete



OpenCV C API is deprecated so I guess this wouldn't be an option. Between C++ and Python it depends on the nature of the project. If its a proof-of-concept or prototype phase, Python would be advised since it is much faster for development and testing. For final product development, C++ is the way to go.

Pedro Batista gravatar imagePedro Batista ( 2017-08-07 05:38:50 -0500 )edit

2 answers

Sort by ยป oldest newest most voted

answered 2019-05-26 14:23:57 -0500

I prefer C++ mainly because the OpenCV library itself has been written in C++.

I have found, from my personal experiences, that for OpenCV code written in C++, it is much easier to track what is going wrong and where because your application code is "closer" to the library implementation (by virtue of using the same programming language).

In addition to that, a lot of API documentation is only available for C++.

The Python documentation, on account of being comparatively recent, is not as extensive/mature as the C++ counterpart.

It is also easier to interface with and try out the newest additions to the library (though in experimental phase) because they are added in the form of C++ code.

The only scenario where I found the OpenCV Python API to be preferable is when you want to use OpenCV as part of a web-based application because it becomes easier to integrate the OpenCV code with frameworks such as Django.

edit flag offensive delete link more

answered 2017-08-07 05:27:22 -0500

I use C++, and never used python, so this may not be accurate. But my experience is that the development environment, IDE etc. are more important than the language you use when it comes to setting up opencv. I did a couple of projects in Visual Studio, one with shared libraries and the other with the libraries included in the app.

In either case you need to pay attention to the opencv version used in the guides/tutorials. There are significant changes in file structure and naming conventions between versions. And more often when you search for answers online you will end up with a tutorial/installation guide/code in another version of opencv than the one you are using. In case of visual studio this mean different dll files to be included in the linker. In my case I just checked the dll files after installing opencv and just included those files instead of the ones given in the visual studio guide. The same goes for the code samples you find online.

As for the pi, I have done something similar with IP cameras on banana pi. It would work but you will most likely have to compile it yourself. Which is not complicated but is quite slow, if I remember correctly it took me several hours on banana pi to compile it alls. And you need to include ffmpeg support and of course ffmpeg itself. Once the initial setup is done you don't have to worry about it again.

I would be interested in collaborating on a project like this, but I am not US based. If you would be interested in a long distance collaboration you can let me know.

edit flag offensive delete link more
Login/Signup to Answer

Question Tools



Asked: 2017-08-05 12:30:09 -0500

Seen: 375 times

Last updated: Aug 07 '17