【发布时间】:2018-06-10 03:35:56
【问题描述】:
我正在尝试将 C++ OpenCV 代码转换为 C# Emgucv。我转换了一些行,但我卡在了一行上。
Mat detectionMat(detection.size[2], detection.size[3], CV_32F, detection.ptr<float>());
我像上面那样转换了
Mat detectionMat = new Mat(detection.SizeOfDimemsion[2], detection.SizeOfDimemsion[3], Emgu.CV.CvEnum.DepthType.Cv32F, detection.Ptr.ToPointer());
但我知道 detection.Ptr.ToPointer() 有问题,我无法转换。提前致谢。
caffe.PopulateNet(net);
Mat prob;
Mat img2 = new Mat(300,300,img.Depth,img.NumberOfChannels);
Emgu.CV.CvInvoke.Resize(img, img2, new Size(300, 300));
//Mat inputBlob = DnnInvoke.BlobFromImage(img2,0.007843, new Size(300, 300), new MCvScalar(127.5,127.5,127.5), true); // ??
Mat inputBlob = DnnInvoke.BlobFromImage(img, 0.007843, mean: new MCvScalar(127.5, 127.5, 127.5), swapRB: false);
net.SetInput(inputBlob, "data");
Mat detection = net.Forward("detection_out");
Mat detectionMat = new Mat(detection.SizeOfDimemsion[2], detection.SizeOfDimemsion[3], Emgu.CV.CvEnum.DepthType.Cv32F, detection.ptr<float>());
double confidenceThreshold = 0.2;
【问题讨论】:
标签: c# c++ opencv image-processing emgucv