|
@@ -0,0 +1,51 @@
|
|
|
+#include <QCoreApplication>
|
|
|
+
|
|
|
+#include <iostream>
|
|
|
+#include "modulecomm.h"
|
|
|
+#include "rawpic.pb.h"
|
|
|
+
|
|
|
+#include <opencv2/opencv.hpp>
|
|
|
+#include <opencv2/core.hpp>
|
|
|
+#include <opencv2/imgproc.hpp>
|
|
|
+//#include "opencv2/imgcodecs/legacy/constants_c.h"
|
|
|
+#include <opencv2/imgproc/types_c.h>
|
|
|
+
|
|
|
+static void * gpa;
|
|
|
+
|
|
|
+
|
|
|
+static void CallDetect(iv::vision::rawpic & xrawpic)
|
|
|
+{
|
|
|
+ cv::Mat mat(xrawpic.height(),xrawpic.width(),xrawpic.mattype());
|
|
|
+
|
|
|
+ if(xrawpic.type() == 1)
|
|
|
+ memcpy(mat.data,xrawpic.picdata().data(),mat.rows*mat.cols*mat.elemSize());
|
|
|
+ else
|
|
|
+ {
|
|
|
+ std::vector<unsigned char> buff(xrawpic.picdata().data(),xrawpic.picdata().data()+xrawpic.picdata().size());
|
|
|
+ mat = cv::imdecode(buff,1);
|
|
|
+ }
|
|
|
+ cv::cvtColor(mat, mat, CV_BGR2RGB);
|
|
|
+ //Call Detect Funcion use mat
|
|
|
+}
|
|
|
+
|
|
|
+void Listenpic(const char * strdata,const unsigned int nSize,const unsigned int index,const QDateTime * dt,const char * strmemname)
|
|
|
+{
|
|
|
+ (void)index; (void)dt; (void)strmemname;
|
|
|
+ iv::vision::rawpic pic;
|
|
|
+ if(false == pic.ParseFromArray(strdata,nSize))
|
|
|
+ {
|
|
|
+ std::cout<<"picview Listenpic fail."<<std::endl;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ CallDetect(pic);
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+int main(int argc, char *argv[])
|
|
|
+{
|
|
|
+ QCoreApplication a(argc, argv);
|
|
|
+
|
|
|
+ gpa = iv::modulecomm::RegisterRecv("image00",Listenpic);
|
|
|
+
|
|
|
+ return a.exec();
|
|
|
+}
|