1
0
mirror of https://github.com/opencv/opencv.git synced 2026-07-31 08:13:04 +04:00

Merge pull request #9028 from alalek:dnn_experimental_namespace

This commit is contained in:
Maksim Shabunin
2017-06-29 07:37:04 +00:00
13 changed files with 81 additions and 53 deletions
+12 -5
View File
@@ -40,8 +40,6 @@
//M*/
#include "../precomp.hpp"
using namespace cv;
using namespace cv::dnn;
#ifdef HAVE_PROTOBUF
#include "caffe.pb.h"
@@ -54,7 +52,13 @@ using namespace cv::dnn;
#include <google/protobuf/text_format.h>
#include <google/protobuf/io/zero_copy_stream_impl.h>
#include "caffe_io.hpp"
#endif
namespace cv {
namespace dnn {
CV__DNN_EXPERIMENTAL_NS_BEGIN
#ifdef HAVE_PROTOBUF
using ::google::protobuf::RepeatedField;
using ::google::protobuf::RepeatedPtrField;
using ::google::protobuf::Message;
@@ -361,14 +365,14 @@ public:
}
Ptr<Importer> cv::dnn::createCaffeImporter(const String &prototxt, const String &caffeModel)
Ptr<Importer> createCaffeImporter(const String &prototxt, const String &caffeModel)
{
return Ptr<Importer>(new CaffeImporter(prototxt.c_str(), caffeModel.c_str()));
}
#else //HAVE_PROTOBUF
Ptr<Importer> cv::dnn::createCaffeImporter(const String&, const String&)
Ptr<Importer> createCaffeImporter(const String&, const String&)
{
CV_Error(cv::Error::StsNotImplemented, "libprotobuf required to import data from Caffe models");
return Ptr<Importer>();
@@ -376,7 +380,7 @@ Ptr<Importer> cv::dnn::createCaffeImporter(const String&, const String&)
#endif //HAVE_PROTOBUF
Net cv::dnn::readNetFromCaffe(const String &prototxt, const String &caffeModel /*= String()*/)
Net readNetFromCaffe(const String &prototxt, const String &caffeModel /*= String()*/)
{
Ptr<Importer> caffeImporter = createCaffeImporter(prototxt, caffeModel);
Net net;
@@ -384,3 +388,6 @@ Net cv::dnn::readNetFromCaffe(const String &prototxt, const String &caffeModel /
caffeImporter->populateNet(net);
return net;
}
CV__DNN_EXPERIMENTAL_NS_END
}} // namespace
+5 -9
View File
@@ -50,8 +50,9 @@
#include <opencv2/dnn/shape_utils.hpp>
#include <opencv2/imgproc.hpp>
using namespace cv;
using namespace cv::dnn;
namespace cv {
namespace dnn {
CV__DNN_EXPERIMENTAL_NS_BEGIN
using std::vector;
using std::map;
@@ -74,11 +75,6 @@ namespace
};
}
namespace cv
{
namespace dnn
{
template<typename T>
static String toString(const T &v)
{
@@ -2126,5 +2122,5 @@ BackendWrapper::BackendWrapper(const Ptr<BackendWrapper>& base, const MatShape&
BackendWrapper::~BackendWrapper() {}
}
}
CV__DNN_EXPERIMENTAL_NS_END
}} // namespace
+5 -5
View File
@@ -42,10 +42,9 @@
#include "precomp.hpp"
#include <opencv2/dnn/layer.details.hpp>
namespace cv
{
namespace dnn
{
namespace cv {
namespace dnn {
CV__DNN_EXPERIMENTAL_NS_BEGIN
static Mutex* __initialization_mutex = NULL;
Mutex& getInitializationMutex()
@@ -100,4 +99,5 @@ void initializeLayerFactory()
CV_DNN_REGISTER_LAYER_CLASS(Scale, ScaleLayer);
}
}} //namespace
CV__DNN_EXPERIMENTAL_NS_END
}} // namespace
+2
View File
@@ -46,6 +46,8 @@
#include <opencv2/dnn/all_layers.hpp>
namespace cv { namespace dnn {
CV__DNN_EXPERIMENTAL_NS_BEGIN
Mutex& getInitializationMutex();
void initializeLayerFactory();
CV__DNN_EXPERIMENTAL_NS_END
}} // namespace
+13 -5
View File
@@ -10,8 +10,6 @@ Implementation of Tensorflow models parser
*/
#include "../precomp.hpp"
using namespace cv;
using namespace cv::dnn;
#ifdef HAVE_PROTOBUF
#include "graph.pb.h"
@@ -24,6 +22,13 @@ using namespace cv::dnn;
#include <google/protobuf/text_format.h>
#include <google/protobuf/io/zero_copy_stream_impl.h>
#include "tf_io.hpp"
#endif
namespace cv {
namespace dnn {
CV__DNN_EXPERIMENTAL_NS_BEGIN
#if HAVE_PROTOBUF
using ::google::protobuf::RepeatedField;
using ::google::protobuf::RepeatedPtrField;
@@ -734,14 +739,14 @@ void TFImporter::populateNet(Net dstNet)
} // namespace
Ptr<Importer> cv::dnn::createTensorflowImporter(const String &model)
Ptr<Importer> createTensorflowImporter(const String &model)
{
return Ptr<Importer>(new TFImporter(model.c_str()));
}
#else //HAVE_PROTOBUF
Ptr<Importer> cv::dnn::createTensorflowImporter(const String&)
Ptr<Importer> createTensorflowImporter(const String&)
{
CV_Error(cv::Error::StsNotImplemented, "libprotobuf required to import data from TensorFlow models");
return Ptr<Importer>();
@@ -749,7 +754,7 @@ Ptr<Importer> cv::dnn::createTensorflowImporter(const String&)
#endif //HAVE_PROTOBUF
Net cv::dnn::readNetFromTensorflow(const String &model)
Net readNetFromTensorflow(const String &model)
{
Ptr<Importer> importer = createTensorflowImporter(model);
Net net;
@@ -757,3 +762,6 @@ Net cv::dnn::readNetFromTensorflow(const String &model)
importer->populateNet(net);
return net;
}
CV__DNN_EXPERIMENTAL_NS_END
}} // namespace
+4 -2
View File
@@ -49,6 +49,8 @@
namespace cv {
namespace dnn {
CV__DNN_EXPERIMENTAL_NS_BEGIN
#if defined(ENABLE_TORCH_IMPORTER) && ENABLE_TORCH_IMPORTER
#include "THDiskFile.h"
@@ -1027,5 +1029,5 @@ Net readNetFromTorch(const String &model, bool isBinary)
return net;
}
}
}
CV__DNN_EXPERIMENTAL_NS_END
}} // namespace