1174040868 誤差拡散法で減色した画像の背景に色を塗りたいです。モニタでは一見モノクロに見えるのですが,拡大すると点々がある画像です。この白い背景の部分をうまく選択して色を塗りたいのですが,選択方法が分かりません。サンプルの画像は単純なものですが,実際には複雑な画像であることを想定してください。使用ソフトはPhotoshop 6ですが,他のソフトでも使えるような汎用的な方法のほうがベターです。

回答の条件
  • 1人3回まで
  • 登録:2007/03/16 19:27:50
  • 終了:2007/03/21 21:04:20

ベストアンサー

id:chaobun No.8

chaobun回答回数38ベストアンサー獲得回数62007/03/20 21:23:04

ポイント40pt

1. 背景中の白い部分をマジックワンドで選択

2. 選択範囲を背景の黒い粒粒(ノイズ)が全て選択できるまで拡大

3. その後拡大したピクセル数と同じ数だけ選択範囲を縮小

領域の大きさを基準に前景かノイズかを判定するという意味で根本的にはぼかすのと全く一緒です。が、この方法のほうが簡単で正確だ(コントロールしやすい)と思います。

ただ、ノイズより前景の領域外形が細かい部分については(ぼかす方法でもこの方法でも)全て平坦になってしまいます。

また、白黒二値ということは領域の大きさか形で前景かノイズかの定義をするしかないということになります。

ぼかすのも選択範囲を太らせてから痩せさせるのも領域の大きさを基準に前景かノイズかを判定していることになります。

形で前景を定義する場合、(同じ画像でも場合によっては前景になったりノイズになったりする領域があるので)一般的な手法というのは非常に難しいです。

結局、細かい部分については手動でやるか、今回の画像用にアルゴリズムを組む必要がありそうです。

id:olimar

了解しました。

簡単にはできないということが分かっただけでも十分な収穫でした。

2007/03/21 20:57:13

その他の回答(7件)

id:hiko3karasu No.1

hiko3karasu回答回数1058ベストアンサー獲得回数252007/03/16 19:38:01

魔法の杖のツールで選択して色を塗るのはだめですか?

id:olimar

自動選択ツールのことですか?

白地の黒い点々が選択されませんからダメですね。

2007/03/17 16:59:34
id:k_y No.2

k_y回答回数122ベストアンサー獲得回数72007/03/16 22:07:49

ポイント10pt

http://img.wazamono.jp/pc/src/1174050301523.gif

   

画像はCSですが、やりかた同じです。

汎用的な方法としてはこれですかね。Photoshop以外でも

同じ機能のツールはあると思います。

許容値の数字がキモですね。これは画像毎に試行錯誤が必要です。

   

Photoshop限定なら「抽出」フィルタもあるね

ただPS6のやつはあまり性能良くなかったような...

言う事聞いてくれた試しがなかったような...

   

★場合によっては素直にパスで囲ってしまうほうが早い事が有ります。

急がば回れです。

id:olimar

モノクロ2階調の画像で許容値をいじっても何も変わらないのですが。

2007/03/17 17:00:52
id:k_y No.3

k_y回答回数122ベストアンサー獲得回数72007/03/17 18:07:48

根本的に何か勘違いしてないですか?

モノクロ2階調モードで色はつけられません。

参考画像、それモノクロ2階調画像じゃないですよね。

質問内容を吟味して再質問してください。

id:olimar

根本的に何か勘違いしていませんか?

モノクロ2階調モードで色つけられるわけないでしょ。

モノクロ2階調と言ったのは、モードの話ではなく使っている色数のことなんですが?

何を勘違いしているか分かりませんが、どうせなら私の画像を使って説明してください。

少なくとも私の画像とまったく違うものを使って説明しないでください。

2007/03/17 22:29:17
id:hiko3karasu No.4

hiko3karasu回答回数1058ベストアンサー獲得回数252007/03/17 23:31:21

>自動選択ツールのことですか?

>白地の黒い点々が選択されませんからダメですね。

よくわかりません。黒い点々を選択しないで下の白を選択して、青に変えたいのではないのでしょうか?

黒い点々の選択は必要なのですか?

 

マジックワンドで下の白い部分を選択できませんか?

白い部分がつながっていないと一度には選択できないですけどね。

 

または、別の方法で、色の置き換えではどうでしょう?

id:olimar

黒い点々も選択したいのです。あくまでも肉眼で「白く見える」(けど実際には黒い点々がある)ところを選択したいわけです。本来ならモノクロ化する時点で近似色を使えば問題ないのですが、他人から今回のような画像を渡されて、背景に色を塗りたいと言われた時を想定しています。

2007/03/18 11:47:25
id:i_kumagoro No.5

i_kumagoro回答回数170ベストアンサー獲得回数582007/03/18 13:07:47

ポイント40pt
  1. 元画像のコピーを作る。
  2. フィルタでぼかしを数回かける。
  3. 自動選択ツールで許容値を大きめにして背景を選択する
  4. 選択範囲の保存/読み込みで元画像上の選択範囲として読み込む

の様な操作で希望に近いものができるのではないでしょうか。モノクロ二値の画像をいかに解像度を落とさずに多階調にするかという問題になってくると思います。ぼかしの回数をへらせば解像度の低下は抑えられますが、範囲選択時に手作業の必要量が増える事になると思います。

id:olimar

ぼかす方法については私も考えていました。他の方からも同じ方法が出てきたと言うことは,間違った方法ではないということですので,それはそれで有り難いのですが,「は?オマエそんなのも知らねーの?こうやるんだよ」的な簡単な方法を期待していたので・・・。

似たような方法としては,縮小して戻すというのがあると思います。

2007/03/19 15:31:04
id:dungeon-master No.6

dungeon-master回答回数571ベストアンサー獲得回数402007/03/18 13:38:38

ポイント40pt

背景が白、背景以外のオブジェクトが黒だと仮定します。

誤差拡散で、それぞれに微細な白黒の点が混在しているということは、背景(白)内の

黒い点の周囲は大抵白であり、オブジェクト内の白い点の周囲は大抵白ということです。

つまり、そのような点を周囲に溶け込ませてしまえば良いと思います。

背景以外は誤差拡散でディザの掛かったものをそのまま使うという前提のようなので

背景用のマスクを作る手順を考えて見ましょう。

以下、PhotoShopElementsでやってみました。


準備:

レイヤー1とレイヤー2に元画像のイメージを貼り付けます。

(レイヤー1の上にレイヤー2を重ねる順序で)

このあとの操作は基本的にレイヤー2で行います。


背景領域の選択:

レイヤー2に、フィルタ「ぼかし」を掛けます。

次に、自動選択ツールと「近似色を選択」を使って画像内の背景を選択状態にします。

背景部分が適正に選択できたと判断したら、次へ。

点々が選択しきれない場合は、もう一度「ぼかし」から行います。


マスクの作成:

編集の「塗りつぶし」で、選択された背景部分を塗りつぶします。

(近似色の選択が適正にできていないと、シミのような塗りつぶしになります)

きれいに塗りつぶせたら「選択範囲を反転」によって背景以外のオブジェクトの部分を

選択した状態にし、編集の「削除」によってボケた画像を取り去ります。

これで暫定的なマスクができました。

レイヤー1の元画像と見比べて、マスクを調整します。


画像によりうまくいかないケースはありますし、画像の縁は手作業で調整が必要です。

id:olimar

丁寧な手順の説明ありがとうございました。

2007/03/19 15:31:31
id:hiko3karasu No.7

hiko3karasu回答回数1058ベストアンサー獲得回数252007/03/19 12:44:55

ああ、やっと意味がわかりました。

olimarさんのサンプルの絵が拡大された、白い背景と、黒い点をあらわしているものだと思っていました。

黒い部分は人物などを表していたのですね?

 

やはり、クイックマスクなどで、変更したい領域を塗っていくしかないのではないかと思います。

id:chaobun No.8

chaobun回答回数38ベストアンサー獲得回数62007/03/20 21:23:04ここでベストアンサー

ポイント40pt

1. 背景中の白い部分をマジックワンドで選択

2. 選択範囲を背景の黒い粒粒(ノイズ)が全て選択できるまで拡大

3. その後拡大したピクセル数と同じ数だけ選択範囲を縮小

領域の大きさを基準に前景かノイズかを判定するという意味で根本的にはぼかすのと全く一緒です。が、この方法のほうが簡単で正確だ(コントロールしやすい)と思います。

ただ、ノイズより前景の領域外形が細かい部分については(ぼかす方法でもこの方法でも)全て平坦になってしまいます。

また、白黒二値ということは領域の大きさか形で前景かノイズかの定義をするしかないということになります。

ぼかすのも選択範囲を太らせてから痩せさせるのも領域の大きさを基準に前景かノイズかを判定していることになります。

形で前景を定義する場合、(同じ画像でも場合によっては前景になったりノイズになったりする領域があるので)一般的な手法というのは非常に難しいです。

結局、細かい部分については手動でやるか、今回の画像用にアルゴリズムを組む必要がありそうです。

id:olimar

了解しました。

簡単にはできないということが分かっただけでも十分な収穫でした。

2007/03/21 20:57:13

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません