私の問題を説明しましょう。私はいくつかの数学的計算(非常に難しい)をするサービスを持っています。それはある種の統計計算です。このサービスは、ブール値の2次元配列を返します(boolean [] [] 400x400)。私は後にすることは、この配列に対応する画像を作成します。閉じた線を表す画像ピクセルを滑らかに処理する方法は?
BufferedImage im = new BufferedImage(area.length, area.length, BufferedImage.TYPE_INT_RGB);
Graphics2D g2 = in.createGraphics();
g2.setColor(Color.BLACK);
for (int i = 0; i < area.length; i++) {
for (int j = 0; j < area.length; j++) {
if (area[ i ][ j ]) {
g2.fillRect(j, i, 1, 1);
}
}
}
ImageIO.write(im, someformat, somefile);
コードは非常に単純です。その結果、私はPic1を作成しています(添付ファイル参照)。黄色の境界線は、例えば、黄色の点(画像ピクセル)と同様に表示されます。 はまた、私はあなたにブール配列の一部のコンテンツを表示したい(それが唯一の例であり、私は0と1のように真と偽表示します):
{ 0,.0,............. .... ............0 }
.................... ...
{ 0,0,0,0,0,1,1,.... .... ............0 }
{ 0,0,0,1,1,0,1,.... .... ............0 }
{ 0,0,1,1,0,0,0,1,1, .... ............0 }
{ 0,0,0,1,0,0,0,1,0, .... ............0 }
..................................
{ 0,.0,............. .... ............0 }
だから私はPIC1が言ったように私が持っている結果として。はい、私はこの絵がとても奇妙に見えることを知っています。実際にはどのような形状でも構いませんが、常に閉じられます。この画像は非常に醜いと思われる代わりに、私はいくつかの曲線のようにいくつかの幅と任意の粗さなしで描画したい。私はPic2に表示しようとしています(ええ.....それも醜いです...私の絵は悪いです)。
画像処理における私のスキルと知識は悪く、私は明らかに助けと説明が必要です。 Javaを使って私の目標を達成することは全く不可能かもしれません。知りません。私に助けてくれる図書館などがあるかもしれません。
お返事ありがとうございます。ありがとうございます。
あなたはポイント(X = J、yと[I、J]に「1」を考慮することができます= i)、それを補間するために一連のベジェ曲線またはスプラインを使用します。 – loginpassword
"-1"を押すのは簡単ですが、例を使って答えを少し拡張することはできますか?そして、私は配列の例を挙げています。なぜなら、値 "1"を持つ点の近くに値 "1"を持つ点があり、また問題は私が順序を知らなかったからです。これらの点のこの配列では、選択された[i、j]点の後にポイントがありません。私は自分の問題を解決しようとしていますが、私の評価を上げません。 –