Rumah pembangunan bahagian belakang Tutorial Python Bagaimana untuk menambah bunyi pada gambar menggunakan Python

Bagaimana untuk menambah bunyi pada gambar menggunakan Python

Aug 19, 2023 am 11:21 AM
python Pemprosesan imej penambahan bunyi

Bagaimana untuk menambah bunyi pada gambar menggunakan Python

Cara menggunakan Python untuk menambah bunyi pada gambar

Pengenalan:
Dengan perkembangan teknologi, pemprosesan imej digital telah menjadi kaedah pemprosesan imej yang biasa. Antaranya, menambah hingar pada imej merupakan langkah penting dalam pemprosesan imej Dengan menambah hingar, realisme dan kerumitan imej dapat dipertingkatkan. Artikel ini akan memperkenalkan cara menggunakan Python untuk menambah hingar pada imej dan memberikan contoh kod yang berkaitan.

1. Memahami hingar imej
Bunyi imej merujuk kepada gangguan rawak yang menjejaskan kualiti dan kejelasan imej. Bunyi imej biasa termasuk hingar Gaussian, hingar garam dan lada, hingar Poisson, dsb. Antaranya, hingar Gaussian adalah jenis hingar yang paling biasa dan paling biasa digunakan Ia adalah nombor rawak yang mematuhi taburan Gaussian.

2. Python melaksanakan penambahan hingar imej
Menggunakan Python untuk menambah hingar pada imej boleh dicapai dengan menggunakan perpustakaan NumPy dan OpenCV. Di bawah ialah kod sampel yang menunjukkan cara menambah hingar Gaussian pada imej.

import cv2
import numpy as np

def add_gaussian_noise(image):
    mean = 0
    std_dev = 50
    noise = np.random.normal(mean, std_dev, image.shape).astype(np.uint8)
    noisy_image = cv2.add(image, noise)
    return noisy_image

# 读取图像
image = cv2.imread('image.jpg')

# 添加高斯噪声
noisy_image = add_gaussian_noise(image)

# 显示原始图像和噪声图像
cv2.imshow('Original Image', image)
cv2.imshow('Noisy Image', noisy_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
Salin selepas log masuk

Dalam kod di atas, mula-mula gunakan fungsi cv2.imread() untuk membaca imej. Kemudian, fungsi add_gaussian_noise() ditakrifkan, yang menggunakan fungsi np.random.normal() untuk menjana hingar rawak yang mematuhi taburan Gaussian dan menggunakan cv2 . Fungsi add() menambah hingar pada imej asal. Akhir sekali, gunakan fungsi cv2.imshow() untuk memaparkan imej asal dan imej hingar, dan gunakan fungsi seperti cv2.waitKey(0) untuk mengawal masa paparan dan interaksi. cv2.imread()函数读取一张图像。然后,定义了一个add_gaussian_noise()函数,该函数使用np.random.normal()函数生成符合高斯分布的随机噪声,并使用cv2.add()函数将噪声添加到原始图像中。最后,使用cv2.imshow()函数显示原始图像和噪声图像,并使用cv2.waitKey(0)等函数控制显示的时间和交互。

三、其他噪声添加方法
除了高斯噪声,还有其他一些噪声添加方法可以使用。例如,可以使用np.random.randint()函数生成椒盐噪声,代码示例如下:

def add_salt_and_pepper_noise(image, salt_prob, pepper_prob):
    noise = np.zeros(image.shape, dtype=np.uint8)
    salt_locations = np.random.rand(*image.shape) < salt_prob
    pepper_locations = np.random.rand(*image.shape) < pepper_prob
    noise[salt_locations] = 255
    noise[pepper_locations] = 0
    noisy_image = cv2.add(image, noise)
    return noisy_image

# 添加椒盐噪声
noisy_image = add_salt_and_pepper_noise(image, salt_prob=0.01, pepper_prob=0.01)
Salin selepas log masuk

在以上示例代码中,add_salt_and_pepper_noise()函数使用np.random.randint()

3 Kaedah penambahan hingar lain

Selain bunyi Gaussian, terdapat kaedah penambahan hingar lain yang boleh digunakan. Sebagai contoh, anda boleh menggunakan fungsi np.random.randint() untuk menghasilkan bunyi garam dan lada Contoh kod adalah seperti berikut:

rrreee

Dalam kod sampel di atas, add_salt_and_pepper_noise. () fungsi menggunakan np.random.randint() menjana integer rawak antara 0 dan 255, kemudian menetapkan nilai piksel kepada putih dan hitam mengikut nisbah garam dan bunyi lada, dan akhirnya menambah bunyi pada imej asal.

Selain hingar Gaussian dan hingar garam dan lada, terdapat beberapa model hingar lain Anda boleh memilih model hingar yang sesuai untuk digunakan mengikut keperluan anda. 🎜🎜Kesimpulan: 🎜Artikel ini memperkenalkan kaedah menambah hingar pada imej menggunakan Python, serta contoh kod yang berkaitan. Mengubah ciri imej dengan menambah hingar boleh meningkatkan realisme dan kerumitan imej. Dalam aplikasi praktikal, model hingar yang berbeza boleh dipilih dan digunakan mengikut keperluan yang berbeza. Saya harap artikel ini akan membantu pembaca memahami konsep hingar imej dan menggunakan Python untuk menambah hingar. 🎜

Atas ialah kandungan terperinci Bagaimana untuk menambah bunyi pada gambar menggunakan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Hadidb: Pangkalan data yang ringan dan berskala mendatar di Python Hadidb: Pangkalan data yang ringan dan berskala mendatar di Python Apr 08, 2025 pm 06:12 PM

Hadidb: Pangkalan data Python yang ringan, tinggi, Hadidb (Hadidb) adalah pangkalan data ringan yang ditulis dalam Python, dengan tahap skalabilitas yang tinggi. Pasang HadIdb menggunakan pemasangan PIP: Pengurusan Pengguna PipInstallHadidB Buat Pengguna: CreateUser () Kaedah untuk membuat pengguna baru. Kaedah pengesahan () mengesahkan identiti pengguna. dariHadidb.OperationImportuserer_Obj = user ("admin", "admin") user_obj.

Kaedah Navicat untuk melihat kata laluan pangkalan data MongoDB Kaedah Navicat untuk melihat kata laluan pangkalan data MongoDB Apr 08, 2025 pm 09:39 PM

Tidak mustahil untuk melihat kata laluan MongoDB secara langsung melalui Navicat kerana ia disimpan sebagai nilai hash. Cara mendapatkan kata laluan yang hilang: 1. Tetapkan semula kata laluan; 2. Periksa fail konfigurasi (mungkin mengandungi nilai hash); 3. Semak Kod (boleh kata laluan Hardcode).

Rancangan Python 2 jam: Pendekatan yang realistik Rancangan Python 2 jam: Pendekatan yang realistik Apr 11, 2025 am 12:04 AM

Anda boleh mempelajari konsep pengaturcaraan asas dan kemahiran Python dalam masa 2 jam. 1. Belajar Pembolehubah dan Jenis Data, 2.

Bagaimana untuk mengoptimumkan prestasi MySQL untuk aplikasi beban tinggi? Bagaimana untuk mengoptimumkan prestasi MySQL untuk aplikasi beban tinggi? Apr 08, 2025 pm 06:03 PM

Panduan Pengoptimuman Prestasi Pangkalan Data MySQL Dalam aplikasi yang berintensifkan sumber, pangkalan data MySQL memainkan peranan penting dan bertanggungjawab untuk menguruskan urus niaga besar-besaran. Walau bagaimanapun, apabila skala aplikasi berkembang, kemunculan prestasi pangkalan data sering menjadi kekangan. Artikel ini akan meneroka satu siri strategi pengoptimuman prestasi MySQL yang berkesan untuk memastikan aplikasi anda tetap cekap dan responsif di bawah beban tinggi. Kami akan menggabungkan kes-kes sebenar untuk menerangkan teknologi utama yang mendalam seperti pengindeksan, pengoptimuman pertanyaan, reka bentuk pangkalan data dan caching. 1. Reka bentuk seni bina pangkalan data dan seni bina pangkalan data yang dioptimumkan adalah asas pengoptimuman prestasi MySQL. Berikut adalah beberapa prinsip teras: Memilih jenis data yang betul dan memilih jenis data terkecil yang memenuhi keperluan bukan sahaja dapat menjimatkan ruang penyimpanan, tetapi juga meningkatkan kelajuan pemprosesan data.

Python: meneroka aplikasi utamanya Python: meneroka aplikasi utamanya Apr 10, 2025 am 09:41 AM

Python digunakan secara meluas dalam bidang pembangunan web, sains data, pembelajaran mesin, automasi dan skrip. 1) Dalam pembangunan web, kerangka Django dan Flask memudahkan proses pembangunan. 2) Dalam bidang sains data dan pembelajaran mesin, numpy, panda, scikit-learn dan perpustakaan tensorflow memberikan sokongan yang kuat. 3) Dari segi automasi dan skrip, Python sesuai untuk tugas -tugas seperti ujian automatik dan pengurusan sistem.

Cara Menggunakan AWS Glue Crawler dengan Amazon Athena Cara Menggunakan AWS Glue Crawler dengan Amazon Athena Apr 09, 2025 pm 03:09 PM

Sebagai profesional data, anda perlu memproses sejumlah besar data dari pelbagai sumber. Ini boleh menimbulkan cabaran kepada pengurusan data dan analisis. Nasib baik, dua perkhidmatan AWS dapat membantu: AWS Glue dan Amazon Athena.

Bolehkah mysql menyambung ke pelayan SQL Bolehkah mysql menyambung ke pelayan SQL Apr 08, 2025 pm 05:54 PM

Tidak, MySQL tidak dapat menyambung terus ke SQL Server. Tetapi anda boleh menggunakan kaedah berikut untuk melaksanakan interaksi data: Gunakan middleware: data eksport dari MySQL ke format pertengahan, dan kemudian mengimportnya ke SQL Server melalui middleware. Menggunakan Pangkalan Data Pangkalan Data: Alat perniagaan menyediakan antara muka yang lebih mesra dan ciri -ciri canggih, pada dasarnya masih dilaksanakan melalui middleware.

Cara memulakan pelayan dengan redis Cara memulakan pelayan dengan redis Apr 10, 2025 pm 08:12 PM

Langkah -langkah untuk memulakan pelayan Redis termasuk: Pasang Redis mengikut sistem operasi. Mulakan perkhidmatan Redis melalui Redis-server (Linux/macOS) atau redis-server.exe (Windows). Gunakan redis-cli ping (linux/macOS) atau redis-cli.exe ping (windows) perintah untuk memeriksa status perkhidmatan. Gunakan klien Redis, seperti redis-cli, python, atau node.js untuk mengakses pelayan.

See all articles