1

我正在尝试在 iOS 上为 OpenCV 定义一个自定义内核。我似乎找不到明确的方法来做到这一点。我看到其他人使用的方法就是这种方法,我似乎无法让它完全按照我想要的方式工作。我正在使用这样的 cVVideoCamera 委托:

- (void)processImage:(Mat&)image;
{
// Do some OpenCV stuff with the image

  double m[] =    {1.0, 1.0, 1.0,
                  2.0, 2.0, 2.0,
                  1.0, 1.0, 1.0};
  cv::Mat kernel = cv::Mat(3, 3, CV_32FC2, m);
  int ddepth = -1;

  cv::filter2D(image, image, ddepth, kernel);

}

这似乎不起作用。我认为这可能是因为 cv:Mat 构造函数(CV_32FC2)中的类型。有谁知道这应该是 iPhone 相机通常是什么?还是有其他问题?

4

1 回答 1

2

类型 CV_32FC2 不是指您传入的图像的类型,它指的是您正在制作的内核中的类型。将 m 的类型更改为 float 并将 CV_32FC2 更改为 CV_32f ,它应该可以工作。如果性能有问题,您还应该像他建议的那样尝试 Brad Larson 的框架。

于 2012-11-13T21:06:13.137 回答