Create Haar Cascade in OpenCV 3 without using the OpenCV applications - c++

I need to train my own Haar Cascade classifier using OpenCV 3.X writing my own code without using OpenCV application (opencv_createsamples, opencv_haartraining), but I'm not able to find any reference neither in the OpenCV documentation or in some tutorial.
Everything say "use opencv applications", even in the official documentation.
Where I can find at least some base classes reference?

Related

Yolo: PyTorch vs. Darknet

I have recently found Yolo implementations in PyTorch (e.g. https://github.com/ultralytics/yolov3). What I would like to know if this is really the same (in terms of model accuracy, speed and so on) like the one with Darknet backbone?
I am asking because it is waaaaaay easier with PyTorch (as I am struggling with installing Darknet on windows).
Kind regards,
Can
Follow these step to install darknet framework on window10.
I recommend to clone darknet from AlexeyAB repository since it works great on windows10 and a lot of community support.(https://github.com/AlexeyAB/darknet).
And now it has a python wrapper so you could implement it on python.
Clone darknet repositoriey.
install vcpkg.(https://github.com/microsoft/vcpkg)
Install visual studio 2017.
Install CUDA and CUDNN.
Add CUDNN into system environment. Variable name = 'CUDNN' , variable value =
'installed path'.
Add 'CUDA_TOOLKIT_ROOT_DIR' into system environment. Variable name = 'CUDNN',
variable value = 'installed path\NVIDIA GPU Computing Toolkit\CUDA\v10.2.
build with powershell command '.\build.ps1' in darknet directory.
Hope you find this help :).
YOLO (You Only Look Once) is a one shot detector method to detect object in a certain image. It can work with Darknet, Pytorch, Tensorflow, Keras etc. frameworks. YOLO and darknet complements together pretty well as it has a robust support for CUDA & CUDNN. Use whichever framework you want !!

How to integrate the opencv to webots environment in windows?

I want to use opencv for a project for robot simulation. But I am having trouble with using it inside webots. I can't include it. I have the opencv version 4.30 and I changed my makefile to use the opencv but It doesn't work. Can You guys help me how can I add opencv to webots?
Here are some documentation about how to use external library with Webots controllers:
https://cyberbotics.com/doc/guide/using-webots-makefiles?tab-language=ros#adding-an-external-library-ccp
You can also find an example of integration of OpenCV (not version 4.30 but you can for sure take inspiration) in a Webots controller here:
https://github.com/cyberbotics/webots/blob/f6886726c320b86d8ab07cab4d849ca82ca791af/projects/samples/howto/vision/controllers/vision/

Convolutional neural network using openCV

I wonder if there is a way of building a convolutional neural network with openCV. Basically I have already trained the cifarnet cnn using the python API of Tensorflow but now I want to run the inference without tensorflow by using C++. The only open-source lib that I can use is opencv. Do you know if I can do that with opencv instead of creating the network manually?
Try to look at deep learning module from opencv_contrib. Some sample with evaluating model trained in TensorFlow in dnn/samples/tf_inception.cpp. Also some hints about making snapshot in issue: https://github.com/opencv/opencv_contrib/issues/1029#issuecomment-290070240.

How to integrate Opencvblobslib library with OpenCV with Visual Studio?

I am trying to calculate the area of a certain region of an image using the concept of SURF (Speeded-Up Robust Features). But when I try to use a function such as contourArea, I get an exception. What are the possible steps that I should follow to install the specific blob libraries to calculate the area? (I am using OpenCV in Visual Studio). Any other method to caclculate the area using blobs?

OpenCV : Build with lesser features

I have a C++ app that uses OpenCV. Currently i am statically linking the OpenCV libs into my app. This is adding an extra overhead of 6+ MB.
Ideally i would like to remove some of the features that i am not using in OpenCV. The features am using are,
Capture frames from Webcam.
Face detection.
Image formats (JPEG, PNG).
Image rotation & resizing.
Is it possible to remove other features and trim down the libs?
My C++ app is developed in Visual Studio 2012.
Thanks in advance.
If you have the OpenCV source code set up in your PC, create your own dll from the opencv source code with exporting only the required features