带内核的OpenCV Filter2D iPhone

时间:2012-11-13 17:52:35

标签: ios opencv computer-vision

我正在尝试在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相机应该是什么?还是有其他问题吗?

1 个答案:

答案 0 :(得分:2)

类型CV_32FC2不是指您传入的图像的类型,它指的是您正在制作的内核中的类型。将m的类型更改为float并将CV_32FC2更改为CV_32f,它应该可以工作。如果性能问题,你也应该给布拉德拉森的框架一个尝试,就像他建议的那样。