0
捕獲當我捕獲從使用基於示例代碼一個網絡攝像頭圖像從http://msdn.microsoft.com/en-us/library/windows/desktop/dd407288(v=vs.85).aspx#example_code鏡像圖像從攝像頭
它正常工作,除了一個奇怪的:圖像沿其x軸鏡像,意味着它是自上而下(但不能旋轉180度)。
那麼這怎麼會發生呢?有沒有可能導致這種行爲的DirectShow選項?
捕獲當我捕獲從使用基於示例代碼一個網絡攝像頭圖像從http://msdn.microsoft.com/en-us/library/windows/desktop/dd407288(v=vs.85).aspx#example_code鏡像圖像從攝像頭
它正常工作,除了一個奇怪的:圖像沿其x軸鏡像,意味着它是自上而下(但不能旋轉180度)。
那麼這怎麼會發生呢?有沒有可能導致這種行爲的DirectShow選項?
RGB幀通常具有相反的行順序,從下到上。規則是:
BITMAPINFOHEADER::biHeight
> 0 - 底部 - 至 - 頂行BITMAPINFOHEADER::biHeight
< 0 - 頂部 - 底部行BITMAPINFOHEADER::biHeight
符號(正面和負面都有效) - 從上到下排雖然正反兩方面的biHeight
值是有效的,負面的傳播和支持較少。許多過濾器只會拒絕帶有負值的格式。
鏡像在相機上啓用,或驅動程序中的錯誤。或者,您的過濾器圖捕獲一些奇怪的第三方多功能過濾器,它在顯示之前改變圖像。 – 2013-04-23 20:30:13
令人驚訝的是,它發生在兩個非常不同的相機,所以我想這不是一個驅動程序問題... – Elmi 2013-04-23 20:38:14
可能是一個功能,而不是一個bug:什麼是由SampleGrabber- > GetCurrentBuffer()?最後一行可能在內存中排在第一位?這可以解釋爲什麼它是最底層的... – Elmi 2013-04-24 06:38:16