1

にはRGBと追加のアルファ層が含まれているsample.png画像を読み込み、処理して表示しています。 この画像では、手動で背景を削除しました。前景のみが のウィンドウ画像スライドショーに表示されます。私は有用な情報を見つけることができませんでした anywhr ...私はopencv usng関数からそれを読んだときにimreadまたはcvloadimageそれを は白い背景を作成します...私はhighguiのドキュメントを読みました これらの関数は、 RGBA ...任意のヘルプやアイデア が参考になります...Read RGBA Image OpenCV

おかげ サレー...

答えて

0

私の知る限り唯一の現在のソリューションは、別の画像としてアルファチャンネルをロードし、それを一緒に参加することです。 cvtColor()を使用して、画像とともにMatにアルファチャンネルを追加することができます。 mixChannels()をロードして、それを一緒に混合する。

+0

ありがとうございますが、どうすれば表示できますか?imshowとcvLoadImageはRGBと見なされますか? – Saleh

+1

申し訳ありませんが、私はOpenCVでRGBA画像を表示する方法があるとは思いません...また、1つの画像を1つのウィンドウに時間で表示することができます。ですから、おそらく、それらの画像を手動でマージして結果を表示する必要があります。 – WestFlame

+1

私はそれを解決しました...別個のアルファ層をロードする必要はありません...あなたが取り除きたい画像の部分を黒色にします... opencv関数で珍しく読んでください...アルファブレンドを次のように使用してください cvAddWeighted(&sourceFrame、alpha、yourImage、beta、gamma、およびDestinationFrame); アルファ= 1ベータ= 1、ガンマ= 0 画像の黒色の部分が削除され、画像の残りの部分がソース画像にアルファベットされ、宛先画像に配置されます... – Saleh

0

IMREAD_UNCHANGEDオプションを指定してcv :: imread()を使用すると、データをcv :: Mat構造体に読み込むことができます。引き続きIplImageが必要な場合は、アルファチャンネルを失うことなくcv :: MatからIplImageに変換することができます。