到目前为止,我见过的所有示例和书籍都建议使用waitKey(1)来强制重绘OpenCV窗口。这看起来很奇怪而且太hacky。为什么你不需要等待甚至1ms?
还有其他选择吗?我试过cv :: updateWindow,但它似乎需要OpenGL,因此崩溃。我在Windows上使用VC ++。
答案 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