Bagaimana cara mempertajam gambar menggunakan OpenCV ?
Ada banyak cara untuk menghaluskan atau mengaburkan tapi tidak ada yang bisa saya lihat untuk mengasah.
image-processing
opencv
AruniRC
sumber
sumber
Anda dapat mencoba kernel sederhana dan fungsi filter2D , misalnya dengan Python:
Wikipedia memiliki ikhtisar kernel yang bagus dengan beberapa contoh lainnya di sini - https://en.wikipedia.org/wiki/Kernel_(image_processing)
sumber
Anda dapat menemukan contoh kode tentang penajaman gambar menggunakan algoritma "unsharp mask" di OpenCV Documentation .
Mengubah nilai-nilai
sigma
,threshold
,amount
akan memberikan hasil yang berbeda.sumber
Anda dapat mempertajam gambar menggunakan topeng unsharp . Anda dapat menemukan informasi lebih lanjut tentang unsharp masking di sini . Dan inilah implementasi Python menggunakan OpenCV:
sumber
amount
hanyalah jumlah penajaman. Misalnya,amount
dari 2.0 memberikan gambar yang lebih tajam dibandingkan dengan nilai default 1.0.threshold
adalah ambang batas untuk masker kontras rendah. Dengan kata lain, piksel yang perbedaan antara gambar masukan dan buram lebih kecil darithreshold
akan tetap tidak berubah.Salah satu caranya adalah dengan menggabungkan kernel filter yang dibuat sendiri dengan image.
Ada metode lain untuk mengurangi versi gambar buram dari versi cerahnya. Ini membantu mempertajam gambar. Tetapi harus dilakukan dengan hati-hati karena kami hanya meningkatkan nilai piksel. Bayangkan nilai piksel skala abu-abu 190, yang jika dikalikan dengan bobot 2 menghasilkan jika 380, tetapi dipangkas menjadi 255 karena kisaran piksel maksimum yang diizinkan. Ini adalah kehilangan informasi dan menyebabkan gambar pudar.
sumber
Untuk kejelasan tentang topik ini, beberapa poin harus dibuat:
Mempertajam gambar adalah masalah yang mungkin terjadi. Dengan kata lain, pemburaman adalah operasi yang merugikan, dan mundur dari itu secara umum tidak mungkin dilakukan.
Untuk mempertajam gambar tunggal, Anda perlu menambahkan batasan (asumsi) tentang jenis gambar yang Anda inginkan, dan bagaimana gambar tersebut menjadi buram. Ini adalah bidang statistik gambar alami. Pendekatan untuk melakukan penajaman memegang statistik ini secara eksplisit atau implisit dalam algoritme mereka (pembelajaran dalam menjadi kode yang paling implisit). Pendekatan umum untuk menaikkan pembobotan beberapa tingkat dekomposisi DOG atau piramida Laplacian , yang merupakan generalisasi dari jawaban Brian Burns, mengasumsikan bahwa pengaburan Gaussian merusak gambar, dan bagaimana pembobotan dilakukan terhubung dengan asumsi tentang apa yang terjadi. pada gambar untuk memulai.
Sumber informasi lain dapat membuat penajaman masalah menjadi tepat. Sumber informasi yang umum seperti itu adalah video dari objek bergerak, atau pengaturan multi-tampilan. Penajaman dalam pengaturan itu biasanya disebut resolusi-super (yang merupakan nama yang sangat buruk untuk itu, tetapi telah terjebak dalam lingkaran akademis). Ada metode resolusi super di OpenCV sejak lama .... meskipun mereka biasanya tidak bekerja dengan baik untuk masalah nyata terakhir saya memeriksanya. Saya berharap pembelajaran yang mendalam telah menghasilkan beberapa hasil yang luar biasa di sini juga. Mungkin seseorang akan memposting komentar tentang apa yang berharga di luar sana.
sumber
Untuk mempertajam gambar kita bisa menggunakan filter (seperti di banyak jawaban sebelumnya)
Ini akan menjadi yang paling banyak jika penyebutnya adalah 1 dan akan berkurang seiring bertambahnya (2.3 ..)
Yang paling banyak digunakan adalah jika penyebutnya adalah 3.
Berikut implementasinya.
sumber
Coba dengan ini:
Anda dapat menemukan informasi lebih lanjut di sini .
sumber