C# EmguCV Mat.Ptr
C# EmguCV Mat.Ptr
我正在尝试将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());
但我知道我在检测方面有问题。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;
@Musa,您使用的是哪个版本的Emgu CV。在最新的中,没有采用您指定的参数的 Mat 构造函数。您可以选择:
Mat Constructor (Int32, Int32, DepthType, Int32)
Mat Constructor (Int32[], DepthType, IntPtr,IntPtr[])
Mat Constructor (Size, DepthType, Int32, IntPtr, Int32)
Mat Constructor (Int32, Int32, DepthType, Int32, IntPtr, Int32)
我猜你的意思是使用最后一个。如果是这样,这是您的数据的 IntPtr。但是不知道数据是什么,我帮不上什么忙。了解什么是检测或完整的代码片段将非常有帮助。
编辑:Musa,我想我明白你想做什么,尽管我没有使用 EmguCV 的 DNN 部分。由于网络,您有一个垫子对象。转发(( 调用。我想你可以尝试以下方法,看看是否有帮助:
Mat detectionMat = new Mat(detection.SizeOfDimemsion[2], detection.SizeOfDimemsion[3], Emgu.CV.CvEnum.DepthType.Cv32F, detection.NumberOfChannels, detection.DataPointer, detection.Step);
道格
相关文章:
- Difference in displaying cv2 Mat
- 为什么Mat类的两个对象可以在不重载运算符+的情况下添加
- CLANG 编译器 说:变量"PTR"可能未初始化
- 在以唯一ptr为值的C++映射中,动态内存何时会被销毁
- 将CHW格式的浮点向量转换为cv::Mat
- C++中的openCV Mat访问冲突
- 将 ptr 传递给 ptr 到 A 作为参数传递给 A 的函数是不好的做法吗?
- 为共享 ptr 向量实现复制 c'tor?
- OpenCV 和从 OutputArrays 或 (Mat) 读取数据
- 字符和整数中 **(ptr+1) 的值差异
- C++:在不中断共享的情况下通过引用传递共享 PTR?
- 使用 mat.at<uchar>(i,j) 的 opencv C++中的矩阵赋值错误
- C++:从GPU内存(cudaMemcpy2D)获取BGR图像(cv::Mat)
- 选择基于另一个垫子的非零像素的cv::Mat的一部分?
- 如何将派生类从基 ptr 分配给 nlohmann::json
- 将 cv::mat 转换为 QImage
- C# EmguCV Mat.Ptr
- Python OpenCV将mat-ptr传递给c++代码
- 如何从OpenCV Mat访问浮点值(.at和.ptr除外)
- 如何使用c++ Mat类ptr对象的基本C包装器打印Mat元素?