>Java >java지도 시간 >Java OpenCV 라이브러리를 사용하여 이미지의 밝기를 변경하는 방법은 무엇입니까?

Java OpenCV 라이브러리를 사용하여 이미지의 밝기를 변경하는 방법은 무엇입니까?

WBOY
WBOY앞으로
2023-09-10 23:45:021033검색

org.opencv.core.Mat 클래스의 convertTo() 메서드는 주어진 행렬에 대해 필요한 계산을 수행하여 이미지의 대비와 밝기를 변경합니다. 이 메서드는 4개의 인수(

  • mat)를 허용합니다. 이는 소스 행렬과 동일한 크기 및 유형의 결과를 보유하는 빈 행렬입니다.

  • rtype - 출력 행렬 유형을 지정하는 정수 값입니다. 값이 음수이면 유형은 소스와 동일합니다.

  • alpha - 이득 값은 0보다 커야 합니다(기본값 1).

  • beta - 편향 값(기본값 0).

OpenCV Java 라이브러리를 사용하여 이미지의 밝기를 변경합니다

위에서 언급했듯이 이 메서드에 전달된 베타 값은 이미지의 밝기를 변경합니다. 이미지, 이 매개변수에 대해 선택한 값이 음수(0 ~ -255)이면 이미지가 덜 밝아집니다. 마찬가지로 0(0~255)보다 크면 영상의 밝기가 증가합니다.

이미지의 대비를 변경하려면 빈 행렬, -1(동일한 유형을 얻으려면), 알파 값으로 1, 밝기를 높이거나 낮추는 베타 값을 전달하여 convertTo() 메서드를 호출하세요. .

Example

import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.imgcodecs.Imgcodecs;
public class AlteringBrightness {
   public static void main (String[] args) {
      //Loading the OpenCV core library
      System.loadLibrary( Core.NATIVE_LIBRARY_NAME );
      //Reading the Image from the file
      String file ="D:\Images\tiger.jpg";
      Mat src = Imgcodecs.imread(file, Imgcodecs.IMREAD_COLOR);
      //Creating an empty matrix
      Mat dest = new Mat(src.rows(), src.cols(), src.type());
      //Increasing the brightness of an image
      src.convertTo(dest, -1, 1, 100);
      // Writing the image
      Imgcodecs.imwrite("D:\Images\altering_brightness_100.jpg", dest);
   }
}

입력 이미지

如何使用Java OpenCV库来改变图像的亮度?

다음은 다양한 alpha 값에 대한 다양한 출력 이미지입니다. ​​-

α 값: -100

α 값: -50

如何使用Java OpenCV库来改变图像的亮度?

α 값: 50

如何使用Java OpenCV库来改变图像的亮度?

α 값: 100

如何使用Java OpenCV库来改变图像的亮度?

위 내용은 Java OpenCV 라이브러리를 사용하여 이미지의 밝기를 변경하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제