2016-12-04 25 views
-1

enter image description herePhotoshopのような画像に黒を追加するにはどうすればいいですか?

enter image description here私は、RGB値の配列を持っている、と私はより多くのそのように制御しているので、私は直接ではなくRescaleOpを使用するよりも、これらの値を変更したいです。

明るさを変更する、と私は黒人を追加するための同様のものを使用しようとしているが、私は上記のものと同様のアルゴリズムを考え出すことができないためにループのための私です
for (int x = 0; x < image.getWidth(); x++) { 
      for (int y = 0; y < image.getHeight(); y++) { 
       int[] rgb = image.getRGB([x][y]); 
       rgb[0] *= Math.pow(2, desiredBrightness); 
       rgb[1] *= Math.pow(2, desiredBrightness); 
       rgb[2] *= Math.pow(2, desiredBrightness); 
      } 
} 

。このため

+0

「黒を追加する」とは何を意味しますか?明示的に説明する必要があります – gpasch

+0

@gpasch Adob​​e Bridgeでは、暗い色をより暗くする。これは、より明るい色にほとんど差をつけないで「黒」とラベル付けされる。これはコントラストと似ていますが、より明るい色を非常に変更することはありません。 – Nexion21

+0

私はPhotoshopなどを使用しないでください – gpasch

答えて

1

あなたはカットオフアプローチ/機能を必要とする:あなたは、近くにある色や黒に非常に近いを見つける(全ての色成分が一定のしきい値以下である必要があります)、あなたは完全に黒にそれらを回す:

addBlacks(int blackThreshold) { 
    for (x = 0; x < image.getWidth(); x++) { 
    for (y = 0; y < image.getHeight(); y++) { 
     int rgb = bim.getRGB(x, y)&0x00ffffff; 
     int rr=(rgb&0x00ff0000)>>16, rg=(rgb&0x0000ff00)>>8, rb=rgb&0x000000ff; 
    if(rr<blackThreshold && rg<blackThreshold && rb<blackThreshold) 
     rr=rg=rb=0; 
    b2.setRGB(x, y, 0xff000000|(rr<<16)|(rg<<8)|rb); 
    } 
}  

35で、あなたは効果を見るべきであり、与えられたイメージではっきりと55になるはずです。また、さまざまなコンポーネントR、G、Bに異なるカットオフしきい値を適用することで、興味深い効果を作り出すことができます。

関連する問題