Gambar & foto · Pengubah Gambar Sosial
Penjelasan Filter Pengambilan Sampel Ulang: Terdekat, Bilinear, Bicubic, dan Lanczos
· Latar belakang
mengubah ukuran gambar pengambilan sampel ulang kanvas
Setiap pengubahan ukuran harus menentukan warna piksel baru dari piksel lama: salinan tetangga terdekat, rata-rata bilinear empat, bikubik berbobot enam belas, dan Lanczos menggunakan sinc berjendela. Posting ini menjelaskan masing-masing, trade-off antara blur, ringing dan aliasing, dan apa yang diberikan browser kepada Anda.
Foto yang sama, tiga alat, tiga hasil — teka-teki konkret dari gambar yang diubah ukurannya yang berbeda dalam ketajaman dan kilau
Dua alat pengubah ukuran dapat menghasilkan file dengan dimensi identik dan tepian yang terlihat berbeda. Geometrinya mungkin cocok meskipun pengambilan sampelnya berbeda: setiap piksel keluaran memerlukan warna yang berasal dari informasi sumber, dan penurunan tersebut dapat mendukung ketajaman, kehalusan, atau ketahanan terhadap aliasing. Dimensi file saja tidak dapat mengidentifikasi metodenya.
Social Image Resizer sengaja memberikan janji yang lebih sempit. Sebelum drawImage, ini mengaktifkan penghalusan gambar dan meminta kualitas penghalusan tinggi. Canvas 2D API tidak memberi tahu aplikasi bernama kernel yang dipilih browser, sehingga produk tidak dapat memberi label keluaran terdekat, bilinear, bikubik, atau Lanczos dengan kepastian tingkat sumber.
Masalah pengambilan sampel — mengapa mengecilkan gambar tanpa pemfilteran menghasilkan tepi moiré dan bergerigi, secara sederhana
Penyusutan menghilangkan sampel. Jika garis-garis, rambut, atau jaring berfrekuensi tinggi dipetakan tanpa penyaringan yang memadai, garis-garis tersebut dapat menjadi bergerigi, berkilau, atau membentuk pola yang salah. Pembesaran menciptakan posisi sampel baru di antara yang sudah ada. Di kedua arah, resampler memperkirakan keluaran dari sumber yang terbatas daripada mengungkapkan detail yang tersembunyi.
Gambar uji yang berguna menggabungkan diagonal, garis satu piksel, kisi berulang, dan gradien halus. Ekspor dalam beberapa skala dan periksa piksel satu-ke-satu ditambah ukuran tampilan normal. Pengamatan menunjukkan bagaimana browser yang diuji menangani konten yang sulit tanpa berpura-pura merekayasa balik implementasi internalnya.
Nearest dan bilinear adalah konsep yang berguna, namun ToolAcre tidak memaparkannya sebagai pilihan
Tetangga terdekat secara konseptual memilih sampel sumber terdekat dan cenderung mempertahankan blok piksel keras. Interpolasi bilinear secara konseptual memadukan sampel di dekatnya dan umumnya memperlancar transisi. Deskripsi tersebut membantu menjelaskan ekstrem yang terlihat, namun ToolAcre tidak menawarkan saklar yang diberi label dengan metode mana pun dan pengujiannya tidak mengidentifikasi kernel mesin.
Jangan menyimpulkan filter bernama hanya dari satu sisi. Implementasi browser dapat mengoptimalkan atau memvariasikan perilaku sesuai skala. Satu-satunya pernyataan produk yang dapat diandalkan adalah bahwa penghalusan diaktifkan dan properti kualitas disetel ke tinggi. Klasifikasi yang lebih mendalam memerlukan bukti khusus browser di luar modul ini.
Perilaku bikubik tidak dijanjikan oleh implementasi kanvas ini
Metode bikubik menggunakan lingkungan yang lebih luas dan pembobotan kubik, dengan varian yang memperdagangkan kelembutan terhadap edge overshoot. Itu adalah latar belakang yang berharga untuk membandingkan aplikasi gambar khusus. Ini bukan kontrak untuk keluaran Canvas 2D, karena render.js tidak memilih koefisien kubik atau mengimpor perpustakaan bikubik.
Jika alur kerja produksi memerlukan kernel kubik tertentu, gunakan alat yang memberi nama dan mengujinya. Social Image Resizer memprioritaskan ketersediaan browser asli dan operasi lokal. Hasilnya harus dinilai sebagai keluaran sampel ulang browser berdasarkan mesin dan versi yang direkam, bukan direpresentasikan sebagai implementasi ilmiah terkontrol dari satu varian.
Lanczos berada di luar kontrak alat dan tidak diklaim sebagai default
Lanczos menggunakan ide sinc berjendela untuk menjaga detail sambil mengontrol aliasing, dan tepi keras dapat menunjukkan dering dalam beberapa pengaturan. Buku kerja mengatakan ini adalah default di banyak alat foto, namun prevalensinya tidak bersumber di sini. Lebih penting lagi, tidak ada apa pun di ToolAcre yang meminta nama Lanczos.
Kelalaian ini penting ketika mendiagnosis lingkaran cahaya. Melihatnya tidak membuktikan adanya kernel Lanczos, dan tidak melihatnya tidak membuktikan algoritma yang lain. Bandingkan sumber dan keluaran, skala dokumen dan browser, dan hindari menetapkan penyebab yang tidak dapat diamati oleh aplikasi. Gejala visual dapat memandu pengujian tanpa mengesahkan kode tersembunyi.
Apa yang ditawarkan browser — pengalih penghalusan dan petunjuk kualitas, bukan filter bernama, dan mengapa keluaran bervariasi antara browser dan versi
Kanvas browser memperlihatkan imageSmoothingEnabled dan imageSmoothingQuality daripada katalog filter. ToolAcre menetapkan nilai true pertama dan nilai tertinggi kedua segera sebelum menggambar sumber berskala. Mesin dapat menafsirkan petunjuk secara berbeda atau berevolusi antar versi, itulah sebabnya JavaScript yang identik dapat menghasilkan perbedaan kecil antar-browser.
Geometri tetap eksplisit meskipun pengambilan sampel tidak dilakukan. computeFrame mengembalikan skala dan dimensi gambar yang tepat; drawRect memusatkan dan mengimbangi hasilnya; kanvas keluaran memiliki dimensi target bilangan bulat. Pisahkan fakta yang diketahui tersebut dari pilihan pengambilan sampel yang tersembunyi saat meninjau perbedaan antar browser.
Hal yang tidak tercakup dalam hal ini adalah penajaman setelah pengubahan ukuran, dan penskalaan yang sadar konten atau pembelajaran mesin
Penajaman setelah pengubahan ukuran, metode sadar konten, dan rekonstruksi pembelajaran mesin tidak ada. Tidak ada kontrol unsharp-mask, detektor tepi, atau model detail yang dihasilkan. Kontrol kualitas keluaran memengaruhi pengkodean untuk format lossy, bukan tahap penajaman pasca-pengubahan ukuran. Perlakukan itu sebagai operasi yang berbeda.
Alur kerja asli browser tetap berguna karena sederhana dan tersedia. Untuk tanaman sosial rutin, periksa hasil sebenarnya. Untuk pencitraan ilmiah, ahli tipografi, atau pelestarian seni piksel, pilih alat dengan kontrol filter eksplisit dan validasi yang sesuai dengan konten tersebut.
Kesimpulan: filter menjelaskan tampilannya — Social Image Resizer menggunakan pengambilan sampel ulang milik browser, jadi mengetahui istilah-istilah ini memberi tahu Anda apa yang diharapkan dan apa yang harus diperiksa
Pengambilan sampel ulang menjelaskan mengapa ukuran bukanlah keseluruhan cerita, namun bukti harus sesuai dengan alatnya. Social Image Resizer meminta gambar kanvas yang halus dan berkualitas tinggi dan menyerahkan kernel yang sama ke browser. Jumlah tersebut cukup untuk menghasilkan tanaman yang bermanfaat tanpa memasarkan filter yang tidak pernah dipilih oleh kode tersebut.
Simpan gambar pengujian yang sulit, catat detail browser, dan bandingkan ekspor jika kualitas penting. Terminologi membantu menggambarkan apa yang Anda lihat; implementasinya memberi tahu Anda apa yang dapat Anda klaim dengan jujur. Algoritme yang diberi nama hanya berlaku jika kode atau bukti browser resmi menunjukkannya.