OpenCV imshow不显示osx中的图像

时间:2017-06-22 00:58:27

标签: c++ macos opencv

我正在书中工作,并复制了以下代码(基本上是" hello world"的openCV等价物):

func replaceLastWordWithUsername(_ username: String) -> String {
    let pattern = "@*[A-Za-z0-9]*$"
    do {
        Log.info("Replacing", self, username) 
        let regex = try NSRegularExpression(pattern: pattern, options: NSRegularExpression.Options.caseInsensitive)
        let range = NSMakeRange(0, self.characters.count)
        return regex.stringByReplacingMatches(in: self, options: [], range: range, withTemplate: username )
    } catch {
        return self
    }
}

let oldString = "Hey jess"
let newString = oldString.replaceLastWordWithUsername("@jessica")

不幸的是,当我运行此代码时,我得到一个带有标题的窗口,其中没有任何内容:

我怀疑我在安装OpenCV时搞乱了环境或其他一些问题,但是cmake没有抛出任何错误,代码按预期运行,在键击上正确退出并且所有这些都带有明显的异常缺少显示的照片。

任何提示?

谢谢!

1 个答案:

答案 0 :(得分:4)

感谢@DanMašek在本页面上的所有人以及本页面上的所有人:http://answers.opencv.org/question/160201/video-window-not-loading-frame/

重复他们所说的,对我有用的是:

  

要解决此问题,请找到文件window_cocoa.mm;如果从源代码构建它将在opencv / modules / highgui / src。

     

更改以下内容:

@implementation CVView
#if defined(__LP64__)
@synthesize image;
#else // 32-bit Obj-C does not have automatic synthesize
@synthesize image = _image;
#endif
  

对此:

@implementation CVView
@synthesize image = _image;
  

为CVWindow和CVSlider实现执行相同的操作以适应视频。

     

重新编译OpenCV并测试您的代码。

希望这可以帮助其他人解决这个问题!