我按照互联网上其他人的指南使用 brew 安装了 OpenCV3,
1、安装brew
usrs/local/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2,然后我安装OpenCV3
brew install opencv3
3、安装后我的OpenCV3路径为
/usr/local/Cellar/opencv3/3.2.0
#in fact this path "/usr/local/Cellar/opencv3/3.2.0" contains all
software installed by brew, and I have also try
to install opencv,
its path is "/usr/local/Cellar/opencv/2.4.13.2"
4、设置我的~/.bash_profile文件
# Setting PATH for Python 3.6
# The original version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.6/bin:${PATH}"
# Homebrew
#export PATH=/usr/local/bin:$PATH
# OpenCV3
export PATH="/usr/local/opt/opencv3/bin:$PATH"
5.1,添加“lib”和“include”路径到我的 Xcode(版本 8.3.1、8E1000a)
add openCV3 to "Header search paths" and "Library search Paths"
5.2,并在“Build Phases”选项卡中添加一些内容
6,当我运行我的C++代码时发生了一些错误
Mat cv_input_image = imread("image_0001.jpg");
cout << "rows:" << cv_input_image.rows << endl;
cout << "cols:" << cv_input_image.cols << endl;
cout << "channels:" << cv_input_image.channels() << endl;
它运行成功但结果很糟糕:
rows:0
cols:0
channels:1
我的努力:
我曾多次尝试在我的 Macbook 中使用 brew 和不同的设置方法安装 OpenCV(我是 Mac 的新手),所有这些都没有很好地工作,我可以成功地包括和其他关于 OpenCV 的东西,我只是不不知道我可以从哪里开始解决这个问题?
顺便说一下,我也尝试过我的 openCV(不是 openCV3),我可以成功地将它们包含在我的 C++ 代码中
我有一个复杂的C++代码,第一步是读取一张图片,有一个“错误信息”:
inline
MatConstIterator::MatConstIterator(const Mat* _m)
: m(_m), elemSize(_m->elemSize()), ptr(0), sliceStart(0), sliceEnd(0)
{
if( m && m->isContinuous() )
{
sliceStart = m->ptr();
sliceEnd = sliceStart + m->total()*elemSize;
}
seek((const int*)0);// <=======something wrong here
}
我的 Xcode 给我信息:
Thread 1: EXC_ARITHMETIC(code=EXC_I386_DIV, subcode=0x0)
在我的 Xcode 左侧,有一个线程列表,索引从 0 到 9,
发生这种情况时,箭头指向索引 1:"cv::MatConstIterator::MatConstIterator(cv::Mat const*)"
希望得到你的帮助~~
最佳答案
当使用 Xcode 编译时,可执行文件被放置在一些奇怪的临时文件夹中。因此 imread("image_0001.jpg")
很可能会失败,因为您在此处使用相对路径(即 image_0001.jpg
需要与可执行文件位于同一文件夹中。要解决这个问题,尝试使用图像的绝对路径,即 /Users/your_home/Desktop/image_0001.jpg
。
另一个错误可能是由于 cv_image_input
在失败的 imread
之后为空。
关于c++ - 在 MaxOSX10.12.4 上成功安装 OpenCV3 但它不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43484977/