相关疑难解决方法(0)

在Swift iOS中使用OpenCV

在我的xcode项目中添加OpenCV 2框架后,我尝试搜索samlpes或教程以与swift集成.

有没有相同的好教程?

opencv image-processing ios swift

50
推荐指数
2
解决办法
4万
查看次数

openCV 2.4.3 iOS框架编译器无法识别某些c ++标头

openCV 2.4.3/Xcode 4.5.2/mac osx 10.8.2

我想让openCV与iOS一起工作.我试图使用openCV.org中的预构建的2.4.3框架.但是我得到以下xcode项目构建错误,表明编译器不知道它正在处理c ++,例如

#include <list>       !'list' file not found

namespace cv          !unknown type name 'namespace'
Run Code Online (Sandbox Code Playgroud)

这似乎只涉及以下头文件:
"opencv2/nonfree/features2d.hpp"
"opencv2/nonfree/nonfree.hpp"
"opencv2/video/video.hpp"

如果我不在opencv.hpp(或其他任何地方)中包含这三个文件,我似乎能够编译并使用openCV ok.问题是,我确实需要非自由文件,因为我正在试验SURF - 最近已经转移到非自由.

这真是一个双重问题(对不起;-)

  • 如何说服编译器这些是c ++头文件?
  • 我需要使用SURF哪些标题?

更新

我克隆了openCV git存储库,并从中构建了一个新的框架.这种方法以前没有用,但今天我意识到我没有使用当前版本的CMAKE.我一直在使用CMAKE 2.8.2,这将无法为ios构建opencv.当前版本的CMAKE 2.8.10构建它没有任何问题(这是一个服从文档的对象课程,确实需要CMAKE min.v2.8.8).

现在,当我在Xcode项目中添加opencv框架的当前版本时,我可以包含features2dnonfree并顺利构建.唯一的问题仍然是一个标题:video/background_segm.hpp,仍然产生:

#include <list>       !'list' file not found
Run Code Online (Sandbox Code Playgroud)

如果我评论行,我会在下一行收到错误:

namespace cv          !unknown type name 'namespace'
Run Code Online (Sandbox Code Playgroud)

很明显,编译器不会将其识别为C++标头,即使它是后缀.hpp.

opencv2/video/video.hpp 如果我删除

#include "opencv2/video/background_segm.hpp"
Run Code Online (Sandbox Code Playgroud)

我也可以用video.hpp它来构建(虽然我猜它在实践中是无法使用的).

不幸的是,我仍然无法让SURF工作.当我运行该项目时,它崩溃了这个错误:

OpenCV错误:未实现功能/功能(OpenCV是在没有SURF支持的情况下构建的)

这是在legacy/features2d.cpp:

   Ptr<Feature2D> surf = Algorithm::create<Feature2D>("Feature2D.SURF");
   if( …
Run Code Online (Sandbox Code Playgroud)

c++ xcode opencv ios

11
推荐指数
1
解决办法
9785
查看次数

如何在应用程序中启用iOS 6.0全景相机?

我正在开发一款使用相机的iOS 6应用程序,但我一直无法弄清楚如何启用允许用户拍摄全景照片的选项.拍摄普通照片时,我已经完成了所有工作,但是想让用户选择在应用程序中使用iOS 6中的新全景功能.

我已经搜索过网络,但却无法找到任何信息(例如,Apple开发中心等).我无法确定这是否是可能的.我们可以使用它,如果是这样,怎么样?

iphone uiimagepickercontroller ios ios6

10
推荐指数
1
解决办法
3205
查看次数

iOS:从背景图像中检索矩形图像

我正在开发一个实现,我在大背景图像中有一个矩形图像.我试图以编程方式从大图像中检索矩形图像,并从该特定矩形图像中检索文本信息.我正在尝试使用Open-CV第三方框架,但无法从大背景图像中检索矩形图像.有人可以指导我,我怎么能做到这一点?

更新:

我发现链接使用OpenCV找出方形.我可以修改它以找到矩形形状吗?有人可以指导我吗?

更新的最新消息:

我终于得到了代码,下面是它.

    - (cv::Mat)cvMatWithImage:(UIImage *)image
{
    CGColorSpaceRef colorSpace = CGImageGetColorSpace(image.CGImage);
    CGFloat cols = image.size.width;
    CGFloat rows = image.size.height;

    cv::Mat cvMat(rows, cols, CV_8UC4); // 8 bits per component, 4 channels

    CGContextRef contextRef = CGBitmapContextCreate(cvMat.data,                 // Pointer to backing data
                                                    cols,                       // Width of bitmap
                                                    rows,                       // Height of bitmap
                                                    8,                          // Bits per component
                                                    cvMat.step[0],              // Bytes per row
                                                    colorSpace,                 // Colorspace
                                                    kCGImageAlphaNoneSkipLast |
                                                    kCGBitmapByteOrderDefault); // Bitmap info flags

    CGContextDrawImage(contextRef, CGRectMake(0, 0, cols, rows), image.CGImage);
    CGContextRelease(contextRef); …
Run Code Online (Sandbox Code Playgroud)

opencv ios

5
推荐指数
1
解决办法
7674
查看次数

Xcode 7不使用c ++框架构建项目

我无法使用新版本的opencv 3.0.0框架构建项目(版本2没有此问题).Xcode 7不会将c ++源代码编译为c ++.

这是最简单的设置:

  1. 从这里下载3.0.0框架http://netix.dl.sourceforge.net/project/opencvlibrary/opencv-ios/3.0.0/opencv2.framework.zip
  2. 使用Swift语言创建最简单的ios项目.
  3. 将框架拖放到项目中.
  4. 创建Objective-C++源和标头并将它们添加到项目中.
  5. 创建桥接标头.

这是设置:

在此输入图像描述 在此输入图像描述

  1. 建立.

以下是编译器所说的内容:

opencv2.framework/Headers/core/base.hpp:49:4: error: base.hpp header must be compiled as C++
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

这是为什么?我有.mm文件,它应该编译为Objective-C++源代码.

c++ xcode opencv ios opencv3.0

3
推荐指数
1
解决办法
5461
查看次数