Java DIP - Meningkatkan Kecerahan Gambar

Dalam bab ini kami meningkatkan kecerahan gambar dengan mengalikan setiap piksel gambar dengan nilai alfa dan menambahkan nilai beta lainnya.

Kita OpenCV fungsi convertToyang melakukan operasi di atas secara otomatis. Itu dapat ditemukan di bawahMatpaket. Sintaksnya diberikan di bawah ini -

int alpha = 2;
int beta = 50;
sourceImage.convertTo(destination, rtype , alpha, beta);

Parameternya dijelaskan di bawah -

Sr.No. Parameter & Deskripsi
1

destination

Itu adalah gambar tujuan.

2

rtype

Ini adalah jenis matriks keluaran yang diinginkan atau, lebih tepatnya kedalaman, karena jumlah saluran sama dengan masukan yang dimiliki. jika rtype negatif, matriks keluaran akan memiliki jenis yang sama dengan masukan.

3

alpha

Ini adalah faktor skala opsional.

4

beta

Ini adalah delta opsional yang ditambahkan ke nilai skala.

Selain metode convertTo, ada metode lain yang disediakan oleh kelas Mat. Mereka dijelaskan secara singkat -

Sr.No. Metode & Deskripsi
1

adjustROI(int dtop, int dbottom, int dleft, int dright)

Ini menyesuaikan ukuran dan posisi submatrix dalam matriks induk.

2

copyTo(Mat m)

Ini menyalin matriks ke yang lain.

3

diag()

Ini mengekstrak diagonal dari matriks, atau membuat matriks diagonal.

4

dot(Mat m)

Ini menghitung produk titik dari dua vektor.

5

reshape(int cn)

Ini mengubah bentuk dan / atau jumlah saluran dari matriks 2D tanpa menyalin data.

6

submat(Range rowRange, Range colRange)

Ini mengekstrak sub matriks persegi panjang.

Contoh

Contoh berikut menunjukkan penggunaan kelas Mat untuk meningkatkan kecerahan gambar -

import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.highgui.Highgui;

public class Main {
   static int width;
   static int height;
   static double alpha = 2;
   static double beta = 50;
   
   public static void main( String[] args ) {
   
      try{
         System.loadLibrary( Core.NATIVE_LIBRARY_NAME );
         Mat source =  Highgui.imread("digital_image_processing.jpg",Highgui.CV_LOAD_IMAGE_COLOR);
         Mat destination = new Mat(source.rows(),source.cols(),
         
         source.type());
         source.convertTo(destination, -1, alpha, beta);
         Highgui.imwrite("brightWithAlpha2Beta50.jpg", destination);
         
      } catch (Exception e) {
         System.out.println("error:" + e.getMessage());
      }
   }
}

Keluaran

Saat Anda menjalankan kode yang diberikan, output berikut akan terlihat -

Gambar asli

Gambar Cerah yang Disempurnakan (Alfa = 1 & Beta = 50)

Gambar Cerah yang Disempurnakan (Alfa = 2 & Beta = 50)