簡體   English   中英

在OpenFrameworks Xcode OSX項目中使用OpenCV C ++命令

[英]Use OpenCV C++ commands within OpenFrameworks Xcode OSX Project

我想將OpenFrameworks用於正在構建的OSX應用程序。 但是,我需要包含一些使用C ++ OpenCV命令的現有代碼,例如cv :: imread()。

Xcode鏈接器將引發錯誤Undefined symbols for architecture i386: "cv::imread(std::string const&, int) 。起初,我嘗試使用ofxOpenCv中現有的OpenCV代碼,然后回過頭來包括OpenCV框架就像我以前在非OpenFrameworks項目中所做的那樣,這兩種方法都不能解決鏈接問題。

據我所知,問題在於OpenCV是使用libc ++編譯器編譯的,而OpenFrameworks是使用libstdc ++編譯器編譯的。

  • 本演示文稿展示了如何在OpenFrameworks中使用C ++ OpenCV命令,但是它是在Windows下而不是詳細說明。
  • 這個SO問題意味着OpenCV可以在libstdc ++下重新編譯,但是給出的解決方案是針對iOS的,而對於OSX / linux不存在引用的make文件。

在OSX下可以完全將OpenFrameworks與OpenCV C ++命令一起使用嗎?

請使用Kyle McDonald的ofxCv插件,它是從openframeworks到opencv更好的界面。 它包括實用程序 ,可從ofImage的cv::Mat轉換回去,例如,或幫助程序直接在您的應用程序中繪制cv::Mat

#include "testApp.h"

using namespace ofxCv;
using namespace cv;
Mat img;
void testApp::setup() {
    img = imread("yourImage.png");//make sure the path is correct
}

void testApp::update() {
}

void testApp::draw() {
    drawMat(img,0, 0);
}

另外,您Undefined symbols for architecture i386:錯誤意味着您可能鏈接了x64(64位)opencv .dylib文件,而不是i386(32b位)文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM