Bhinish Dhiman

Cara memperbesar gambar tanpa pecah dan buram, serta batas kemampuan upscaling

Diterjemahkan dari versi asli berbahasa Inggris. Baca versi asli

Muat gambar, pilih 1.5×, 2×, 3×, atau 4× (atau lebar target), seret pemilih area ke sebuah tepi untuk membandingkan panel Lanczos3 dengan scaler bawaan browser, lalu unduh. Lanczos3 menjaga tepi lebih bersih daripada scaling bilinear yang cepat, tetapi tidak ada resampler yang menambah detail: pada 2×, setiap piksel yang tertangkap menutupi empat piksel keluaran, jadi 75% hasilnya adalah interpolasi; pada 4×, sekitar 94%.

Sebagian keburaman bisa dihindari dan sebagian tidak. Jenis yang bisa dihindari berasal dari filter scaling yang buruk, yang mengaburkan tepi yang tadinya tegas di gambar asli. Jenis yang tidak bisa dihindari sudah ada di dalam file: gambar kecil menyimpan sejumlah tetap piksel terukur, dan memperbesarnya berarti menyebarkan piksel-piksel itu ke ruang yang lebih luas. Pembesaran yang baik menangani jenis pertama dan jujur tentang jenis kedua.

Dua istilah

Resampling gambar adalah menghitung piksel baru dari piksel di sekitarnya ketika ukuran gambar berubah. Resampler mendistribusikan ulang informasi yang sudah ada. Resampler tidak bisa menambah informasi, dan itulah perbedaan antara resampling dan super-resolution berbasis jaringan saraf yang kini terlintas di benak kebanyakan orang saat mendengar kata “upscaler”.

Lanczos3 adalah filter resampling yang menimbang jendela piksel sumber yang lebar untuk setiap piksel baru, menggunakan fungsi sinc berjendela. Filter ini mempertahankan kontras tepi yang akan dirata-ratakan hingga hilang oleh filter yang lebih sempit seperti bilinear. Efek sampingnya yang sudah dikenal adalah halo tipis yang bisa muncul di samping tepi yang sangat tajam.

Memperbesar gambar, langkah demi langkah

  1. Buka pembesar gambar dan tekan Choose an image, atau jatuhkan atau tempel gambar di mana saja pada halaman. PNG, JPEG, WebP, GIF, dan AVIF semuanya bisa dibuka; HEIC dari iPhone biasanya perlu dikonversi dulu.
  2. Di bawah Enlarge by, pilih 1.5×, 2×, 3×, atau 4×, atau buka More options dan ketik lebar dalam piksel di Target width. Keduanya selalu selaras, dan tidak satu pun bisa melewati 4×. Ukuran di bawah faktor menampilkan ukuran keluaran, ukuran sumber, dan jumlah megapiksel.
  3. Baca baris di bawah ukuran itu. Baris ini menyebutkan berapa piksel keluaran yang ditutupi oleh setiap piksel yang tertangkap dan berapa porsi hasil yang merupakan interpolasi; Result mengulangnya sebagai persentase.
  4. Di Pick the region, seret persegi panjang (atau gunakan tombol panah; tahan Shift untuk langkah yang lebih besar) ke sebuah tepi: huruf, cakrawala, kabel. Kedua panel menampilkan area itu dengan satu piksel keluaran per piksel layar, Lanczos3 di kiri dan drawImage bawaan browser di kanan.
  5. Di More options, pada Save as, pilih Smallest, PNG, JPEG, atau WebP. Smallest mencoba WebP, lalu JPEG, lalu PNG, dan menyimpan mana pun yang ditulis browser Anda paling kecil; WebP hanya tercantum jika browser bisa menuliskannya. Untuk gambar dengan area transparan, pilih PNG atau WebP, karena opsi JPEG meratakan apa pun yang tembus pandang di atas putih.
  6. Tekan Download the enlargement. Tombol ini menyimpan seluruh gambar, bukan area di panel, dengan nama seperti photo@2x.webp, lalu menampilkan ukuran dan format filenya di Result. Bilah di bagian bawah layar juga memuat Download.

Berapa banyak dari pembesaran yang benar-benar tertangkap

Setiap pembesaran sebagian besar adalah interpolasi, dan porsinya naik dengan cepat. Pada faktor f, setiap piksel yang tertangkap menutupi f² piksel keluaran, jadi porsi interpolasinya adalah 1 − 1/f².

Faktor Piksel keluaran per piksel tertangkap Porsi interpolasi Ditawarkan alat ini
1.5× 2.25 56% Ya
2× 4 75% Ya
3× 9 89% Ya
4× 16 94% Ya
8× 64 98% Tidak
16× 256 99.6% Tidak

Itulah sebabnya preset berhenti di 4×. Lebih dari itu, satu piksel terukur diminta menjadi 64 atau 256, dan hasilnya adalah versi besar yang buram dari gambar kecil. Sebagai panduan kerja, 2× biasanya tidak bisa dibedakan pada jarak pandang normal, 3× masih bisa diterima untuk cetakan yang dilihat sejauh lengan, dan 4× mulai tampak lembut pada tekstur halus. Gambar 200 piksel menyimpan detail 200 piksel di ukuran tampilan berapa pun.

Batas canvas yang mengubah 2× menjadi 1.18×

Batas yang pertama kali ditemui orang bukanlah filternya. Canvas browser dibatasi sekitar 8 192 piksel per sisi, dan di iPhone lama sekitar 16 megapiksel total, dan melewati batas itu canvas mengembalikan gambar kosong alih-alih pesan error. Alat ini memeriksa kedua batas, 8 192 piksel per sisi dan 16 777 216 piksel total (4 096 × 4 096), sebelum menggambar apa pun, mengecilkan keluaran agar muat, dan memberitahukannya lewat peringatan di bawah Result.

Ambil foto 12 megapiksel, 4000 × 3000. Pada 2× foto ini meminta 8000 × 6000, yaitu 48 megapiksel, hampir tiga kali batas luas. Alat ini menghasilkan 4729 × 3547 sebagai gantinya: efektif 1.18×. Setiap preset lain juga menghasilkan file yang sama: 1.5×, 3×, dan 4× semuanya melampaui batas pada foto itu, dan masing-masing dikecilkan kembali ke ukuran terbesar dengan bentuk yang sama yang masih muat.

Aritmetikanya memberi aturan yang berguna. Gambar persegi bisa digandakan hingga 2 048 piksel per sisi, karena 4 096 × 4 096 tepat sama dengan batasnya, dan dilipatempatkan hingga 1 024. Alat ini cocok untuk ikon, tangkapan layar, pindaian kecil, dan thumbnail. Foto langsung dari ponsel biasanya lebih besar daripada apa pun yang bisa dibuatnya.

Panel kanan adalah browser dalam kondisi terbaiknya

Membandingkan Lanczos3 dengan pengaturan kualitas terendah browser sama saja dengan mengakali pengujian, jadi panel kanan memakai drawImage dengan imageSmoothingQuality diatur ke 'high'. Kode sumber alat ini mencatat bahwa pengaturan ini memberi filter mirip Lanczos di Chrome dan Firefox dan bicubic di Safari, dan bahwa halaman tidak punya cara untuk mengetahui mana yang didapatnya.

Jadi pada sebagian gambar kedua panel tampak sama, dan itu hasil yang nyata. Area datar terlihat identik di bawah resampler apa pun; tepi adalah tempat perbedaan terlihat, itulah sebabnya pemilih area meminta Anda mengarahkannya ke salah satu tepi. Jika Anda tidak bisa melihat perbedaan, ambil file yang lebih kecil. Alasan memakai filter yang jelas namanya adalah Anda tahu apa yang dilakukan pada gambar Anda, di browser mana pun.

Panel digambar dengan satu piksel keluaran per piksel layar karena alasan yang berlaku untuk perbandingan apa pun yang Anda lakukan sendiri. Pembesaran 4× yang dimuatkan ke pratinjau kecil akan dikecilkan kembali oleh browser, yang menyembunyikan perbedaan yang sedang Anda nilai. Lihat file yang sudah diunduh pada 100% sebelum memutuskan bahwa hasilnya lembut.

Cara lain memperbesar gambar

Di macOS, Tools → Adjust Size di Preview mengubah ukuran gambar. Panduan ini tidak membuat klaim apa pun tentang filter yang dipakainya.

Di Windows, aplikasi Photos bawaan bisa meng-crop dan memutar gambar, tetapi panduan ini tidak punya metode bawaan yang sudah diperiksa untuk memperbesarnya. Panduan ini juga tidak punya metode command line yang sudah diperiksa, jadi tidak menawarkannya.

Upscaler neural adalah operasi yang berbeda. Model terlatih menghasilkan piksel baru yang diprediksinya seharusnya ada di gambar, alih-alih mendistribusikan ulang piksel yang tertangkap. Panduan ini tidak membuat klaim apa pun tentang seberapa baik upscaler mana pun melakukannya. Alat ini tidak menyertakan upscaler neural karena tidak bisa disajikan: build WebGPU dari runtime-nya berukuran 27 648 KB, melebihi batas 25 MiB per file di hosting situs ini, dan bobot modelnya hanya terkompresi sekitar 7%. Resampler yang dipakai sebagai gantinya berukuran 14 KB.

Pembesar gambar macOS Preview, Adjust Size Upscaler neural
Metode Resampling Lanczos3 Tidak disebutkan di sini Model terlatih menghasilkan piksel
Menambah detail yang tidak tertangkap Tidak Tidak Menghasilkan detail baru
Menampilkan hasil di samping alternatif Ya, dibandingkan dengan scaler browser Tidak Tidak dibahas di sini
Faktor terbesar 4× Tidak disebutkan di sini Tidak dibahas di sini
Gambar Anda dikirim ke mana pun Tidak Tidak Tergantung layanannya

Memastikan gambar tetap di perangkat Anda

Muat halaman dan perbesar satu gambar agar semua yang dibutuhkan sudah tiba. Lalu putuskan koneksi jaringan dan perbesar gambar kedua. Jika panel tergambar ulang dan unduhan selesai saat offline, tidak ada yang mungkin terkirim. Tab Network di developer tools menunjukkan hal yang sama saat koneksi menyala: kode halaman itu sendiri, dan tidak ada permintaan yang membawa gambar Anda.

Pembesar gambar gratis. Untuk meng-crop atau memutar sebelum memperbesar, gunakan editor gambar, dan untuk memilih antara PNG dan WebP untuk hasilnya, seberapa banyak penghematan PNG ke WebP, diukur pada sebelas gambar memuat angkanya.