Java 이미지 처리의 내용을 깊이 이해하지 못하므로 간단한 단어를 용서할 것입니다.
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", "test1.jpg"); //jpg ");색상 레벨 조정 코드
// 이미지 색상 레벨을 조정하고 RGB의 구성 요소를 조정 공개 정적 BufferedImage img_color_gradation (bufferedImage imgsrc, int r, int g, int b) {try {// 투명성 bufferedimage back = new 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); 색상 = 새 색상 (픽셀); int red = color.getred ()+r; if (빨간색> 255) 빨간색 = 255; if (red <0) 빨간색 = 0; int green = color.getgreen ()+g; if (녹색> 255) 녹색 = 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 (예외 e) {e.printstacktrace (); 널 리턴; }}이미지 읽기 및 스토리지 기능
// 이미지 읽기 공개 static bufferedImage file2img (String imgpath) {try {bufferedImage bufferedImage = imageio.Read (new file (imgpath)); return bufferedimage; } catch (예외 e) {e.printstacktrace (); 널 리턴; }} // 이미지를 저장, 범위는 "jpg", "png"형식입니다. public static void img2file (bufferedImage img, 문자열 범위, 문자열 newfile) {try {imageio.write (img, ext, newfile (newfile)); } catch (예외 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)로 대체합니다.
요약
위의 내용은 컬러 레벨 조정 및 밝기 조정 코드 예제에 대한이 기사의 모든 내용입니다. 모든 사람에게 도움이되기를 바랍니다. 단점이 있으면 메시지를 남겨 두십시오.