진행중인 프로젝트/FaceRecoginzer
TensorFlow frozen Model OpenCV 로드 ( QT C++ ) 및 최적화
hellobird
2019. 8. 13. 01:37
프리징 관련해서 최적화하는법 참고 사이트 :
https://www.megazone.com/techblog_180830_aws-deeplens/
.pro:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | #------------------------------------------------- # # Project created by QtCreator 2019-08-12T01:02:57 # #------------------------------------------------- QT += core gui greaterThan(QT_MAJOR_VERSION, 4): QT += widgets TARGET = helloCV TEMPLATE = app # The following define makes your compiler emit warnings if you use # any feature of Qt which has been marked as deprecated (the exact warnings # depend on your compiler). Please consult the documentation of the # deprecated API in order to know how to port your code away from it. DEFINES += QT_DEPRECATED_WARNINGS # You can also make your code fail to compile if you use deprecated APIs. # In order to do so, uncomment the following line. # You can also select to disable deprecated APIs only up to a certain version of Qt. #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 CONFIG += c++11 SOURCES += \ main.cpp \ mainwindow.cpp HEADERS += \ mainwindow.h FORMS += \ mainwindow.ui INCLUDEPATH += -I/usr/local/include/opencv4/opencv2 \ /usr/local/include/opencv2 LIBS += -L/usr/local/lib `pkg-config opencv4 --libs --cflags` # Default rules for deployment. qnx: target.path = /tmp/$${TARGET}/bin else: unix:!android: target.path = /opt/$${TARGET}/bin !isEmpty(target.path): INSTALLS += target | cs |
main:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #include "mainwindow.h" #include <QApplication> #include "iostream" #include<opencv2/highgui.hpp> #include "opencv2/dnn.hpp" using namespace cv; using namespace std; int main(int argc, char *argv[]) { dnn::Net net = dnn::readNetFromTensorflow("/home/hyeok/Downloads/output_graph.pb"); Mat mat = (Mat_<float>(2, 3) << 1, 2, 3, 4, 5, 6); net.setInput(mat,"input_node"); Mat res = net.forward("output_node"); cout << res << endl; QApplication a(argc, argv); MainWindow w; w.show(); return a.exec(); } | cs |