1

我堅持讀取,處理和顯示該 包含RGB和附加阿爾法層sample.png圖像。 我已經手動刪除了此圖像中的背景,只有前景出現在 窗口圖像幻燈片演示。我無法找到任何有用的信息 anywhr ......當我從OpenCV的USNG功能閱讀imread或cvloadimage它 自行創建一個白色背景...我已經閱讀highgui 的文檔,其中指出,這些功能只能處理問心無愧RGB不RGBA ...任何幫助或想法 會有所幫助......讀RGBA圖片的OpenCV

感謝 薩利赫...

回答

0

據我所知目前唯一的解決辦法是加載Alpha通道作爲單獨的圖像,然後加入一起。您可以使用cvtColor()將Alpha通道添加到包含圖像的Mat mixChannels()將它與加載的aplha圖像混合在一起。

+0

感謝,但我怎麼能顯示它... imshow和cvLoadImage將以此爲RGB ??? – Saleh 2011-12-31 07:42:57

+1

對不起,我不認爲有一種方法可以在OpenCV中顯示RGBA圖像......此外,您可以在一個窗口中只顯示一個圖像。所以你可能不得不手動合併這些圖像並顯示結果。 – WestFlame 2011-12-31 13:55:35

+1

我解決它......沒有必要加載一個單獨的阿爾法層......這要刪除圖像的一部分,它的顏色黑...用OpenCV函數asusual閱讀......使用alpha混合如下 cvAddWeighted(&sourceFrame,α,yourImage,β,γ,&DestinationFrame); alpha = 1 beta = 1和gamma = 0 yourimage的黑色部分將被刪除,圖像的其餘部分被排序爲sourceimage並放置到目標圖像... – Saleh 2012-01-23 10:37:04

0

您可以使用CV :: imread()與IMREAD_UNCHANGED選項,將數據讀簡歷::墊結構。如果您仍需要使用IplImage,則可以將cv :: Mat轉換爲IplImage,而不會丟失Alpha通道。