Java - Dapatkan Susunan Piksel daripada Imej
Apabila bekerja dengan imej, keperluan untuk mengakses data piksel mereka sering timbul. Artikel ini meneroka teknik untuk mendapatkan tatasusunan dua dimensi nilai piksel secara cekap daripada BufferedImage.
Menggunakan Kaedah getRGB()
Satu pendekatan biasa ialah menggunakan getRGB () kaedah yang disediakan oleh BufferedImage. Kaedah ini menggabungkan nilai alfa, merah, hijau dan biru ke dalam satu int dan mengembalikannya. Walaupun mudah, kaedah ini mungkin tidak cekap, terutamanya untuk imej yang besar, kerana ia melibatkan manipulasi berbilang bait dan penggabungan integer.
Akses Susunan Piksel Terus
Pendekatan alternatif melibatkan mengakses secara langsung tatasusunan piksel dengan menggunakan kaedah getRaster() dan getDataBuffer() BufferedImage. Ini membolehkan akses terus kepada data piksel, menghasilkan prestasi yang lebih baik untuk imej besar. Kelemahan teknik ini ialah keperluan untuk pengiraan indeks manual untuk mengakses piksel tertentu.
Perbandingan Prestasi
Untuk menggambarkan perbezaan prestasi, kelas ujian prestasi telah dibuat yang menggunakan kedua-dua pendekatan. Ujian dijalankan pada imej 12,000 x 12,000 piksel. Keputusannya sangat menarik:
convertTo2DUsingGetRGB:
convertTo2DWithoutUsingGetRGB:
Kesimpulan
Untuk imej kecil, kaedah getRGB() mungkin mencukupi. Walau bagaimanapun, untuk imej yang besar, mengakses terus tatasusunan piksel menawarkan kelebihan prestasi yang ketara. Dengan memilih pendekatan ini, anda boleh mengurangkan masa pemprosesan secara drastik dan meningkatkan kecekapan operasi berkaitan piksel anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Susunan Piksel 2D dengan Cekap daripada Java BufferedImage?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!