我正在书中工作,并复制了以下代码(基本上是" 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没有抛出任何错误,代码按预期运行,在键击上正确退出并且所有这些都带有明显的异常缺少显示的照片。
任何提示?
谢谢!
答案 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并测试您的代码。
希望这可以帮助其他人解决这个问题!