Bagaimana untuk Menukar Julat Nombor dalam Python Semasa Memelihara Nisbah?

Susan Sarandon
Lepaskan: 2024-11-14 19:25:02
asal
996 orang telah melayarinya

How to Convert Number Ranges in Python While Preserving Ratios?

Menukar Julat Nombor dengan Pemeliharaan Nisbah dalam Python

Dalam pemprosesan imej, selalunya perlu menukar nilai piksel daripada satu julat kepada julat yang lain, sambil mengekalkan nisbah relatif antara mata. Penukaran ini memastikan ciri dan butiran penting dikekalkan walaupun terdapat perubahan dalam perwakilan angka.

Untuk mencapai penukaran memelihara nisbah ini, kami boleh menggunakan formula berikut:

NewValue = (((OldValue - OldMin) * (NewMax - NewMin)) / (OldMax - OldMin)) + NewMin
Salin selepas log masuk

Memecahkan formula:

  • Nilai Lama: Nilai piksel asal dalam yang lama julat.
  • OldMin: Nilai minimum dalam julat lama.
  • OldMax: Nilai maksimum dalam julat lama.
  • NewMax: Nilai maksimum dalam julat baharu ( cth., 100).
  • NewMin: Nilai minimum dalam julat baharu (cth., 0).

Sebagai contoh, jika anda mempunyai nilai piksel -5000.00 dalam imej dengan julat -16000.00 hingga 16000.00 dan anda ingin menukarnya kepada julat 0 hingga 100, nilai baharu ialah:

NewValue = (((-5000.00 - (-16000.00)) * (100 - 0)) / (16000.00 - (-16000.00))) + 0
NewValue = 31.25
Salin selepas log masuk

Nilai baharu 31.25 ini mengekalkan nilai yang sama kedudukan relatif dalam julat baharu sebagai nilai asal dalam julat lama.

Anda boleh menyesuaikan lagi formula ini dengan melaraskan nilai NewMin dan NewMax untuk menampung keperluan khusus (cth., menukar julat sasaran kepada -50 hingga 800 ).

Atas ialah kandungan terperinci Bagaimana untuk Menukar Julat Nombor dalam Python Semasa Memelihara Nisbah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan