2011-11-15 4 views
0

Mat::zeros(Size(100, 100), CV_8UC1);バイナリイメージ(値0または255)をたくさん作成しました。我々はそれらにいくつかのデータ(異なる画像上に重ね合わせることができる)を埋め込んだ。ここでは、1つのSavable RGBAイメージに結合したいと考えています。このイメージでは、各単一Matのすべてのデータが固有のRGB値とアルファ== 0.5で表されます。 openCV 2でこのようなことをする方法は?複数の(4つ以上の) `CV :: Mat`画像「Size(M、N)、CV_8UC1`」を1つのRGBA画像に結合するには?

答えて

0

残念ながらI/Oのlibsは(例えばPNGなど)それを扱うフォーマット

「のみ8ビットのいずれかに透明度をサポートしてOpenCVのは、アルファチャンネルをサポートしていないと私はそれのいずれかのファイルだとは思いません(またはPNG、JPEG 2000、TIFFの場合は16ビット)シングルチャンネルまたは3チャンネル(BGRチャンネル順)の画像を保存することができます。http://opencv.willowgarage.com/documentation/cpp/reading_and_writing_images_and_video.html#cv-imwrite

4チャンネルCV_8UC4を使用して画像フォーマットを作成し、アルファを自分で操作しますが、imread/imwriteを使用して読み書きすることはできません

+0

openCV cant create transpar PNGの例は?=(私はこの素晴らしい文書を見ていますが(http://opencv.willowgarage.com/wiki/Welcome?action=AttachFile&do=get&target=opencv_cheatsheet.pdf)、私の問題は解決できません。チャンネル...( – Rella

+0

はい、4チャンネルの画像を作成し、それを別々の単一チャンネルのものにする方法を示しています(または、ピクセルデータをポインタと組み合わせるだけです)が、imwriteを使ってRGBAを保存することはできません –

+0

BGRの署名は何ですか?私はCV_8UC3から.jpgを使って悪い画像を得ます。( – Rella

関連する問題