0

I have a project at hand which I want to use one of the opencv modules (specifically dnn). Instead of building the dnn module I want to use the source code of this modules in my project. by doing so, I can change the source code live and see the results at the same time.

I have a very simple scenario with one only source file:

main.cpp

#include "iostream"
#include <opencv2/dnn.hpp>

int main(int argc, char *argv[])
{
    std::string ConfigFile = "tsproto.pbtxt";
    std::string ModelFile = "tsmodel.pb";

    cv::dnn::Net net = cv::dnn::readNetFromTensorflow(ModelFile,ConfigFile);


    return 0;
}

now this function "cv::dnn::readNetFromTensorflow" is in dnn module. I tried many different methods to embedded the dnn source codes inside my project but all of them failed !

for example, the first time I tried to include every cpp and hpp file in the module/dnn/ folder of opencv in my project but I ended up in errors like

/home/user/projects/Tensor/tf_importer.cpp:28: error: 'CV__DNN_EXPERIMENTAL_NS_BEGIN' does not name a type

#include "../precomp.hpp" no such file or directory

HAVE_PROTOBUF is undefined 

and ....

I tried to solve these errors but some more errors just happened, more undefined MACROs and more undefined hpp files !

#include "../layers_common.simd.hpp" no such file or directory
and many many more errors !

It seems that I'm stuck in a while(true) loop of errors !!! Is it really that hard to use opencv modules source code ?

P.S. For those who are asking about why I want to use opencv source code instead of using the shared libraries I have to say that I want to import a customized tensorflow model which opencv read function doesn't support and I want to know where exactly it crashesh so I can fix it.

By the way, I am only using c++11 functions and gcc as compiler in Ubuntu 16.04

Dmitrii Z.
  • 2,287
  • 3
  • 19
  • 29
PsP
  • 696
  • 3
  • 10
  • 34
  • Why you need to extract OpenCV source code from the library to debug it? In example, if you want to debug your application will you create another one for it? You can always build OpenCV in debug mode or print out certain variables. – Dmitry Kurtaev Feb 07 '18 at 15:40
  • @Dmitry Maybe opencv debug is not enough for me to show the exact error ! – PsP Feb 07 '18 at 20:12

0 Answers0