2016-06-29 12 views
1

私は画像のセットを持っています。画像は単純な背景を持っています。 Marvin FrameworkとJavaを使用して、その背景を白に変更したいと思います。イメージの背景を白に変更するにはどうすればいいですか?

私はマーヴィンを初めて知っているので、バックグラウンドを変更するのが面倒です。私もJavaのopencvを試しましたが、満足していないリンクエラーが発生しました。

画像例:

enter image description here

+0

あなたの質問は、あなたが[このガイド]以下で、それを編集します、理解することは少し難しいです( http://stackoverflow.com/tour)? – alariva

+0

グラフィックエディタでは、マジックのラッソまたはワンドを使用し、背景を選択して塗りつぶします。または、洪水の色の差のある閾値を埋める。そのすばらしいプロジェクトを一目瞭然に私はそのようなものは見ませんでした。 –

答えて

3

あなたが影を削除する方法を見つける必要があります完璧な結果を得るために。しかし、私はそれがあなたのための良い出発点だと思う。

アルゴリズム:

  1. グレースケール閾値所与(画素が真または偽である)バイナリカラーモデルに画像を変換します。
  2. 靴の境界の開口部を閉じるための形態拡張を行います。
  3. 背景を色で塗りつぶすrgb(255,0,255)
  4. バイナリイメージで新しい色で背景を塗りつぶした後、元のイメージで同じピクセルを白に設定します。

出力:

enter image description here

ソースコード:

import static marvin.MarvinPluginCollection.*; 

public class RemoveBackground { 

    public RemoveBackground(){ 
     MarvinImage image = MarvinImageIO.loadImage("./res/shoes.jpg"); 
     MarvinImage bin = MarvinColorModelConverter.rgbToBinary(image, 116); 
     morphologicalDilation(bin.clone(), bin, MarvinMath.getTrueMatrix(5, 5)); 
     MarvinImage mask = MarvinColorModelConverter.binaryToRgb(bin); 
     boundaryFill(mask.clone(), mask, 5, 5, new Color(255,0,255)); 


     for(int y=0; y<mask.getHeight(); y++){ 
      for(int x=0; x<mask.getWidth(); x++){ 
       if(mask.getIntColor(x, y) == 0xFFFF00FF){ 
        image.setIntColor(x, y, 255,255,255); 
       } 
      } 
     } 
     MarvinImageIO.saveImage(image, "./res/shoes_out.jpg"); 
    } 

    public static void main(String[] args) { 
     new RemoveBackground(); 
     System.exit(0); 
    } 
} 
+0

スレッド "main"の例外java.lang.ClassCastException:java.awt.Colorをjava.lang.Integerにキャストできません - プログラム実行中にエラーが発生しました – user1910287

+0

このjarファイルを使用して解決できましたこの[jarファイル](http://marvinproject.sourceforge.net/files/org.marvinproject)を使用して[google groups](https://groups.google.com/forum/#!topic/marvin-project/9ZgLtsjtkpc) image.fill.boundaryFill.jar) – kukkuz

+0

これは正確に言ったように動作します... marvinと簡単にやりました。私たちはmarvinの設定を簡単にするつもりです – anshulkatta

関連する問題