2016-03-28 7 views
0

私はMatlabによる画像処理の新しいユーザーです。私の最初の目標は記事を適用し、結果と著者の結果を比較することです。
記事は、ここで見つけることができます:http://arxiv.org/ftp/arxiv/papers/1306/1306.0139.pdfmatlabで画像をマスクとして適用する

まず問題、画質:図7では、マスクが定義されていますが、私はマスクデータセットを達することができなかった、と画質が低いので、私はスクリーンショットを使用します。私の見解では、結果に影響を与えることができます。提案はありますか?

第2の問題、画像をマージする:私はレナにマスク1を適用したい。しかし、私はペイントを使用したくない=)一方、イメージをマージしてレナを保つことは可能でしょうか?

+0

これまで試みたコードを共有してください。ありがとう –

+0

私はマスクとレナのためのimreadとimshowコードしか使用できませんでした。他の言葉は私が本当に離れています:) – user3470711

+0

ちょっと@user3470711、あなたの質問への回答を掲載しました。それがあれば投票してください!ありがとう! –

答えて

0

マスク配列を作成する必要があります。今、背景(白)は、すべて1と黒のライン(またはテキスト)であるのは、作ってみましょう0 ある

Mask = im2bw(Figure7, 0.5); 

:最初のステップは、黒と白の画像に図7から、あなたの撮影した画像をオンにするおそらく

LenaGray = rgb2gray(Lena); 

最後に、レナにあなたのマスクを適用します:もちろん

LenaAndMask = LenaGray.*Mask; 

、このラス必ずimreadからもらったレナのあなたのイメージは、実際にはグレースケールでありますLenaとFigure7のサイズが同じでない場合は、t行は機能しませんが、これは簡単な修正です。

+0

ありがとう@シンシアGS!あなたが最後の行に言ったように動作しません。私はクラスのクラスを変更する必要がありますか?名前サイズバイトクラス 属性I 256×256 65536 uint8の M 256x256x3 196608 UINT8 実は、私は 'I =関数imread( 'lena_gray_256.tif')@dfriこの質問を求めていた256×256 65536論理 – user3470711

0

まず、この論文がアーカイブに掲載されていることを知っておく必要があります。アーカイブに掲載された論文は、論文を発表した著者や大学についてもっと知ることをお勧めします。 私はそれを信じています。あなたはこの論文であなたの時間を無駄にする必要はありません。

私はあなたの要求を理解していますが、印刷画面を使ってマスクを入手するのは良い考えではありません。印刷画面を使用して達成できるピクセル値は、元の値と異なる場合があります。ズームでサイズが変わることがあります。サイズが同じであることを確認する必要があります。

あなたは印刷画面を行うことができます。画像を過ぎて マスクをトリミングします。 rgbをグレースケールに変換します。 しきい値はバイナリを取得するためのグレースケールです。

イメージをjpegとして保存した場合。高周波数エッジのために歪みがエッジ形状を変化させる。

+0

マスク。 M = imread( 'M1.tif'); M1 = im2bw(M、0.5); ML = I; ML(M1 == 0)= 0; imshow(ML); ' そして、解決されました!私はすべて感謝しています! – user3470711

関連する問題