Java Image Processingの内容について深い理解を持っていないので、あなたの簡単な言葉を許します。
Javaは、色レベルの調整、つまり、写真のRGBコンポーネントを調整し、画像の明るさを調整することもできます。
テストコード
public static void main(string [] args){//ファイルとbufferedimage bufferedimage bi = file2img( "test.jpg"); //画像bufferedimage bii = img_color_gradation(bi、100,0,0); img2file(bii、 "jpg"、 "jpg"、 "jpg"、 "jpg"、 "jpg"、 "jpg"、 "jpg"、 "jpg"、 "jpg"、 "カラーレベル調整コード
//画像の色レベルを調整し、RGBのコンポーネントを調整し、public static bufferedimage img_color_gradation(bufferedimage imgsrc、int r、int g、int b){//透明性緩衝液なしで画像を作成します=新しいbufferedimage(imgsrc.getwidth()、 imgsrc.getheight()、bufferedimage.type_int_rgb); int width = imgsrc.getWidth(); int height = imgsrc.getheight(); for(int i = 0; i <height; i ++){for(int j = 0; j <width; j ++){int pixel = imgsrc.getrgb(j、i);色の色= new Color(pixel); int red = color.getRed()+r; if(red> 255)red = 255; if(red <0)red = 0; int green = color.getGreen()+g; if(green> 255)green = 255; if(green <0)green = 0; int blue = color.getBlue()+b; if(blue> 255)blue = 255; if(blue <0)blue = 0;色=新しい色(赤、緑、青); int x = color.getrgb(); back.setrgb(j、i、x); }}戻る; } catch(Exception e){e.printstacktrace(); nullを返します。 }}画像の読み取り、およびストレージ機能
//画像を読み取るpublic static bufferedimage file2img(string imgpath){try {bufferedimage bufferedimage = imageio.read(new file(imgpath)); bufferedimageを返します。 } catch(Exception e){e.printstacktrace(); nullを返します。 }} //画像を保存すると、範囲はフォーマット、「JPG」、「PNG」などです。 } catch(Exception e){e.printstacktrace(); }}共有:
以下は、明るさとコントラストのための計算式です
(RGBは、元の画像の色コンポーネントの値、NRGBテーブルによって処理されない値、MBRIGHTNESSは調整された輝度値を表し、MCONTRASTは調整されたコントラスト値を表し、AVGは画像ピクセル全体の平均値を表します)
明るさ:nrgb = rgb+mbrightness
コントラスト:nrgb =(rgb-avg)*(1パーセント%)+avgパーセント値範囲は(-1〜1)0は元の値です。コントラスト式も証明するのに非常に良いです。拡張します。
NRGB = RGB-RGB*パーセント-AVG+AVG*パーセント%+AVG
nrgb = rgb-rgb*パーセント+avg*パーセント
画像マトリックス全体の場合、マトリックス全体の代数的合計が変更されていないことを明るさに保証する必要があります。
およびavg =(rgb1+rgb2+... rgbn)/n(1)
(nrgb1+nrgb2+... nrgbn)=(rgb1+rgb2+... rgbn)+n*avg*パーセント% - (rgb1+rgb2+... rgbn)*パーセント%(2)
フォーミュラ(1)をフォーミュラ(2)に置き換えるだけです
要約します
上記は、Java画像の色レベル調整と輝度調整コードの例に関するこの記事のすべての内容です。私はそれがすべての人に役立つことを願っています。欠点がある場合は、それを指摘するためにメッセージを残してください。