替代waitKey()来更新OpenCV中的窗口

时间:2016-03-31 23:35:21

标签: opencv

到目前为止,我见过的所有示例和书籍都建议使用waitKey(1)来强制重绘OpenCV窗口。这看起来很奇怪而且太hacky。为什么你不需要等待甚至1ms?

还有其他选择吗?我试过cv :: updateWindow,但它似乎需要OpenGL,因此崩溃。我在Windows上使用VC ++。

1 个答案:

答案 0 :(得分:4)

我查看了源代码,正如@Dan Masek所说,似乎没有任何其他函数可以处理Windows消息。所以我最终为VC ++编写了自己的小DoEvents()函数。下面是完整的源代码,它使用OpenCV逐帧显示视频,同时跳过所需的帧数。

let(:robin) { FactoryGirl.create(:robin) }
let(:absence) { FactoryGirl.create(:basic_absence, user: robin) }


context "with no public holidays" do
  it 'counts the absence day to be a day used' do
    expect(absence.days_used).to eq(1)
  end
end

context "with a public holiday for the absence" do
  before do
    FactoryGirl.create(:public_holiday, country: "England", account: robin.account)
  end
  it 'does not consider the absence day to be a day used' do
    expect(absence.days_used).to eq(0)
  end
end