5

私のアイデアは次のとおりです。

  • 1.0。[未解決のハード画像検出]画像を正方形に分割し、境界線を削除する、確かに他の手法!

  • 1.1。[未解決] Imagemagick:トリミング(ここでの手順)、特定の境界線の削除-グリッドの特定に時間がかかる場合があります、画像検出の問題(ここで白/黒を比較)-または魔法の杖スタイルのフィルターがある場合があります。

  • 1.2。[未解決] Python:おそらくこれが必要ですfrom PIL import Image

明らかに、Gimpの消しゴムは遅くてエラーが発生しやすいため、この問題を解決するための間違った方法です。プログラムでグリッドをどのように削除しますか?

ここに画像の説明を入力してください

PSここでのGraphics.SEでのこの問題についてのカジュアルな議論には、より多くの物理的および機械的なハックが含まれています。

4

3 に答える 3

4

すべての画像が灰色のグリッド上の黒い線で構成されている場合は、白いしきい値を調整してグリッドを削除できます(ImageMagickなどを使用)。

convert -white-threshold 80% with-grid.png without-grid.png

おそらく、正確なしきい値を試してみる必要があります。80%があなたのサンプル画像で私のために働いた。これにより、線がピクセル化されます。しかし、おそらくリサンプリングはそれを許容可能な量に減らすことができます、例えば:

convert -resize 200% -white-threshold 80% -resize 50% with-grid.png without-grid.png
于 2012-07-05T11:33:36.997 に答える
3

画像では、グリッドが描画よりもいくらか明るいため、しきい値を設定し、すべての「明るい」ピクセルが白に設定されるように画像をフィルタリングできます。それを使用PILすると、次のようになります。

import Image

def filter(x):
    #200 is our cutoff, try adjusting it to see the difference.
    if x > 200:
        return 255
    return x

im = Image.open('bird.png')
im = im.point(filter)
im.show()

アップロードした画像をこのコードで処理すると、次のようになります。

ここに画像の説明を入力してください

この場合、これはかなり良い結果です。描画がグリッドよりも暗い場合は、あまり問題なくこの方法を使用できるはずです。

于 2012-07-05T11:31:52.557 に答える
0

回答へのフィードバック:emulbrehとfraxel

pythonバージョンはImageMagickを利用しているので、ImageMagickについて考えてみましょう。カラーチャンネルプロファイルが異なるため、以下のようなカラーバージョンでは動作しません。これをもう少し調べてみましょう。

ここに画像の説明を入力してください

ここに画像の説明を入力してください

$ convert -white-threshold 0%bird.png without.png

ここに画像の説明を入力してください

この画像は、元のスキャン画像のノイズ量を示しています。

パズル:例として右隅を削除する

色を反転させ$ convert -negate whiteVersion.png blackVersion.pngて、見やすくしました。下の黒い写真で、青い右隅を削除して黒にしたいのですが、これは、BGチャネルを100%のチャネル値でBGの0に設定することを意味します。

$ convert -channel BG -threshold 100%bbird.png without.png

ここに画像の説明を入力してください

ここに画像の説明を入力してください

残っているのはもちろん赤チャンネルだけです。GBを削除しましたが、白にはまだ赤が残っています。では、どうすれば右側の角だけを削除できますか?エリアを指定してから、以前の操作を行う必要があります。

特定の色を削除したいが、一部の色はそのままにしておきたい任意の写真でこれを機能させるにはどうすればよいですか?

簡単な方法がわかりません。最初の問題は色検出の問題です。色(R、G、B)に不等式の条件を指定します。条件が真の場合は、その部分だけを削除します。これで、すべての基本色、つまりいつ(R,G,B)=(100%,0,0), (R,G,B)=(0,100%,0)(R,G,B)=(0,0,100%)。このためのいくつかの準備ができた実装はありますか?たぶん、でも自分でやるほうがずっといい、パズルセット!

前提知識

  • Imagemagickに関するここここのチュートリアル。

  • このトピックを理解するには、いくつかの基本的な物理学を知る必要があります。白い色はすべての色の混合物であり、黒い色は色なしで構成されています。

于 2012-07-08T03:32:58.603 に答える