如何在IOS中检测摄像机中的任何对象?

时间:2016-05-25 04:23:55

标签: ios opencv augmented-reality

我正在开发一个应用程序来识别来自真实世界对象的对象。是否可以识别摄像机中的任何物体?现在,我正在使用openCV库来识别对象。但只是录制视频它没有做任何事情。关于AR,我很穷。如果可能的话,请建议我为识别真实世界物体必须做些什么。

1 个答案:

答案 0 :(得分:0)

第1步:按照this设置您的opencv相机

第2步:将此代码添加到processImage委托

- (void)processImage:(cv::Mat&)image
{
      //process here
      cv::cvtColor(image, img, cv::COLOR_BGRA2RGB);
      int fixedWidth = 270;
     cv::resize(img, img, cv::Size(fixedWidth,(int)((fixedWidth*1.0f)*   (image.rows/(image.cols*1.0f)))),cv::INTER_NEAREST);

    //update the model
    bg_model->apply(img, fgmask, update_bg_model ? -1 : 0);

    GaussianBlur(fgmask, fgmask, cv::Size(7, 7), 2.5, 2.5);
    threshold(fgmask, fgmask, 10, 255, cv::THRESH_BINARY);

    image = cv::Scalar::all(0);
    img.copyTo(image, fgmask);
}

您需要将以下内容声明为全局变量

cv::Mat img, fgmask;
cv::Ptr<cv::BackgroundSubtractor> bg_model;
bool update_bg_model;

其中,img&lt; - 较小的图像fgmask&lt; - 掩码表示发生运动的地方update_bg_model&lt; - 如果你想修复你的背景;

有关详细信息,请查看此link