私はjavaのcannyフィルタプログラムを使って画像のエッジを検出しました。フィルタを適用した後 ...cannyでフィルタリングされた画像に白い色のピクセルを埋める方法は?
This is my imageズームイン場合...画像の画素の色差が Zoomed
あります。 すべてのエッジピクセルを純粋な白(#FFFFFF)にし、残りの部分を黒にします。 誰かが私が白の他の色合いを見つけて純粋な白で塗りつぶす方法を提案することができます。
注:上記のピクセルとは異なるピクセル(#F7F7F7)が異なる場合があります。上のズームした画像は単なる例です。
編集: 私は画像に反映するために、このコードを書いていた...コード内の誤りがある場合は
public void convert(){
try{
BufferedImage img = ImageIO.read(new File("input.jpg"));
int rgb;
int height = img.getHeight();
int width = img.getWidth();
File f = new File("newThreshold.jpg");
Color white = new Color(255,255,255);
int wh = white.getRGB();
for (int h = 0; h<height; h++){
for (int w = 0; w<width; w++){
rgb = img.getRGB(w, h);
red = (rgb & 0x00ff0000) >> 16;
green = (rgb & 0x0000ff00) >> 8;
blue = rgb & 0x000000ff;
if(red >= 200 || blue >= 200 || green >= 200){
img.setRGB(w,h,wh);
}
}
}
ImageIO.write(img,"jpg",f);
}
catch(Exception e){
}
}
誰も私を伝えることができます。 コードを実行しても、画像に変更はありません。 赤、緑、青の値が200以上であっても、画像は変化しません。
あなたはこれが原因で、JPEG圧縮だけではありませんか? '.png'として保存してみてください。 – Obicere
これはほぼ確実に圧縮によるものです。 [最小JPG圧縮可能なパターンとは何ですか?](https://dsp.stackexchange.com/questions/2010/what-is-the-least-jpg-compressible-pattern-camera-shooting-piece-of-cloth-スカ)。 JPEGは小さな細部を好きではないようです。 – Obicere
ええ、私はそれをpngとして保存しました。ありがとうございました – DHS