我在 mac 上并使用过brew安装opencv3。我有 opencv3/3.0.0 。今天,我更新了它并获得了版本3.1.0_1。
但是,此更新破坏了一切,当我尝试使用 VideoCapture 读取帧并使用 waitKey 函数时,它会因以下原因而中断:
2016-02-26 23:25:16.846 跟踪[99869:1026824] *** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[CaptureDelegate doFireTimer:]:无法识别的选择器发送到实例 0x7fab5a601240”
所以,现在我尝试切换回以下版本,但我不知道如何切换。我使用了以下内容:
酿造搜索opencv
但是,这不会给我像 opencv3/3.0.0 这样的版本
在地窖里,我只有
可用版本:3.1.0、3.1.0_1
所以,我不能使用
酿造开关“版本”
有人可以建议我一种切换回以前版本的方法吗?
这是 3.0.0 的配方
https://github.com/Homebrew/homebrew-science/blob/f4369af77876e0597e1f23bf2dd0f1ee17efd680/opencv3.rb https://github.com/Homebrew/homebrew-science/blob/f4369af77876e0597e1f23bf2dd0f1ee17efd680/opencv3.rb
Homebrew 似乎将其本地食谱存储在这里:
/usr/local/Library/Taps/homebrew/homebrew-science/opencv3.rb
所以你可以尝试:
- brew uninstall opencv3
- 将本地文件替换为该版本。
- brew install opencv3
(这是未经测试的,我肯定会先备份)
更好的解决方案是从源代码编译最新的 openCV - 已添加补丁来解决该问题。与此错误相关的线程 https://github.com/Itseez/opencv/issues/5874关于该过程有一些很好的指示。从源代码编译 openCV 非常方便,如果您需要特定的功能,而且像这样的恼人的错误经常出现。包管理器(以及 opencv.org 自己的二进制文件)很少更新补丁。
update
向后移动的更好方法or前锋..
回到3.0
@bfontaine 的注释...
brew install https://github.com/Homebrew/homebrew-science/blob/f4369af77876e0597e1f23bf2dd0f1ee17efd680/opencv3.rb
转到 3.1.fixed
mateuszmikusz 和 LukasKalinski 的最新建议那个线程 https://github.com/Itseez/opencv/issues/5874
brew remove opencv3
(有效地清理了所有内容,Xcode 立即注意到了)
brew cleanup
brew install --HEAD opencv3
请记住,这是安装最新的代码库,该代码库不稳定并且可能会引入其他错误。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)