在 mac el capan 上将公式降级到以前的版本 (opencv3/3.0.0)

fiz*_*fiz 5 macos homebrew opencv video-capture

我在 mac 上使用brew安装 opencv3。我有 opencv3/3.0.0 。今天,我更新了它,得到了 3.1.0_1 版本。

但是,此更新破坏了一切,当我尝试使用 VideoCapture 读取帧并使用 waitKey 函数时,它会因以下原因而中断:

2016-02-26 23:25:16.846 tracking[99869:1026824] *** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[CaptureDelegate doFireTimer:]:无法识别的选择器发送到实例 0x1240a6”

所以,现在我正在尝试切换回以下版本,但我不确定如何切换。我使用了以下内容:

酿造搜索opencv

但是,这不会给我像 opencv3/3.0.0 这样的版本

在地窖里,我只有

可用版本:3.1.0、3.1.0_1

所以,我不能使用

酿造开关“版本”

任何人都可以建议我一种切换回以前版本的方法吗?

fou*_*dry 4

这是 3.0.0 的配方

\n\n

https://github.com/Homebrew/homebrew-science/blob/f4369af77876e0597e1f23bf2dd0f1ee17efd680/opencv3.rb

\n\n

Homebrew 似乎将其本地食谱存储在这里:

\n\n
/usr/local/Library/Taps/homebrew/homebrew-science/opencv3.rb\n
Run Code Online (Sandbox Code Playgroud)\n\n

因此,您可以尝试:
\n- brew uninstall opencv3
\n- 将本地文件替换为该版本。
\n- brew install opencv3
\n(这是未经测试的,我肯定会先进行备份)

\n\n

更好的解决方案是从源代码编译最新的 openCV - 已添加补丁来解决该问题。与此错误相关的线程有一些关于该过程的很好的指示。从源代码编译 openCV 非常方便,如果您需要特定的功能,而且像这样的恼人的错误经常出现。包管理器(以及 opencv.org 自己的二进制文件)很少更新补丁。

\n\n

更新\n更好的向后
向前移动的方法..

\n\n

回到 3.0
\n@bfontaine 的注释...

\n\n
brew install https://github.com/Homebrew/homebrew-science/blob/f4369af77876e0597e1f23bf2dd0f1\xe2\x80\x8c\xe2\x80\x8bee17efd680/opencv3.rb\n
Run Code Online (Sandbox Code Playgroud)\n\n

继续进行 3.1.fixed
\nmateuszmikusz 和 LukasKalinski 关于该线程的最新建议

\n\n
brew remove opencv3  \n
Run Code Online (Sandbox Code Playgroud)\n\n

(有效地清理了所有内容,Xcode 立即注意到了)

\n\n
brew cleanup\nbrew install --HEAD opencv3\n
Run Code Online (Sandbox Code Playgroud)\n\n
\n

请记住,这是安装最新的代码库,该代码库不稳定并且可能会引入其他错误。

\n
\n