PS色调均化滤镜的快捷实现(C#源代码)。
photoshop色调均化功能通常是在进行修片处理前期比较常用的功能之一,其对扩展图像的对比度,增强视觉效果有一定的作用。在很多课本或者文章中,也称这种处理为灰度均衡化、直方图均衡化等等。算法原理都是对原始图像统计其直方图,然后通过累计分布函数,重新隐射直方图数据,使每个色阶的的分布概率都往一致的方向调整。我看到的网络上的代码,抑或是一些教材中的代码,对这个过程的描述都是相当的冗余,要么是代码累赘,效率低下,要么是萝莉啰唆,很是难受。
在给出我的代码之前,还需要说明一些问题。对于灰度图像,由于只有一个通道,这个问题不明显,对于常见的24位图像,由于有RGB三个通道,那就存在是每个通道都单独均衡还是三通道联合计算直方图,然后利用相同的映射表在隐射RGB数据了,经过我的测试,在Photoshop中,是取的后者。
for (Y = 0; Y < Height; Y++) { Pointer = Scan0 + Y * Stride; // 定位到每个扫描行的第一个像素,以避免溶于数据的影响 for (X = 0; X < Width; X++) { HistGram[*Pointer]++; // Blue HistGram[*(Pointer + 1)]++; // Green HistGram[*(Pointer + 2)]++; // Red Pointer += 3; // 移向下一个像素 } } Num = 0; for (Y = 0; Y < 256; Y++) { Num = Num + HistGram[Y]; Lut[Y] = (byte)((float)Num / (Width * Height * 3) * 255); // 计算映射表 } for (Y = 0; Y < Height; Y++) { Pointer = Scan0 + Y * Stride; for (X = 0; X < Width * 3; X += 3) // 也可以这样写 { Pointer[X] = Lut[Pointer[X]]; Pointer[X + 1] = Lut[Pointer[X + 1]]; Pointer[X + 2] = Lut[Pointer[X + 2]]; } }
算法部分就是这么简单的二十几行代码,代码清晰,执行效率又特别高,数码相机中常见的4000*3000的照片100ms内就可以处理完。
一副图像如果执行了一次色调均化,那么再次执行色调均化应该不会有任何像素发生变换了。
从广义上讲,色调均化可以看成是直方图匹配的一个特例,即匹配的直方图分布为一条水平线。
一些书中的色调均化是对各通道分别进行校正的,似乎这样处理的效果容易导致图像整体颜色不搭配,比如经典的Lena图:
原图 PS的色调均化 郎锐课本上的效果
更多PS色调均化滤镜的快捷实现(C#源代码)。相关文章请关注PHP中文网!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Nombor bersiri PS cs5 kekal percuma 2020 termasuk: 1. 1330-1384-7388-4265-2355-8589 (Bahasa Cina); -8375-9492-6951 (Bahasa Cina); 4. 1330-1971-2669-5043-0398-7801 (Bahasa Cina), dll

Penyelesaian kepada ralat 160 apabila pemasangan ps tidak boleh menulis nilai pendaftaran: 1. Semak sama ada terdapat perisian 2345 pada komputer, dan jika ya, nyahpasang perisian 2. Tekan "Win+R" dan masukkan "Regedit" untuk membuka pendaftaran sistem , dan kemudian Cari "Photoshop.exe" dan padam item Photoshop.

Langkah-langkah untuk memadam kawasan yang dipilih dalam PS: 1. Buka gambar yang anda ingin edit 2. Gunakan alat yang sesuai untuk membuat pilihan 3. Anda boleh menggunakan pelbagai kaedah untuk memadam kandungan dalam pemilihan, gunakan "; Padam" kekunci, gunakan "Healing Brush Tool" , gunakan "Content-Aware Fill", gunakan "Stamp Tool", dsb.; 4. Gunakan alatan untuk membaiki sebarang kesan atau kecacatan yang jelas untuk menjadikan gambar kelihatan lebih semula jadi; 5 . Selepas selesai mengedit, klik "Fail" > dalam bar menu "Simpan" untuk menyimpan hasil pengeditan.

1. Buka perisian dan import sekeping bahan, seperti yang ditunjukkan dalam gambar di bawah. 2. Kemudian ctrl+shift+u untuk membuang warna. 3. Kemudian tekan ctrl+J untuk menyalin lapisan. 4. Kemudian terbalikkan ctrl+I, dan kemudian tetapkan mod adunan lapisan kepada Color Dodge. 5. Klik Penapis--Lain-lain--Minimum. 6. Dalam kotak dialog pop timbul, tetapkan jejari kepada 2 dan klik OK. 7. Akhir sekali, anda boleh melihat draf baris diekstrak.

Jika anda seorang pentadbir IT atau pakar teknologi, anda mesti sedar tentang kepentingan automasi. Khusus untuk pengguna Windows, Microsoft PowerShell ialah salah satu alat automasi terbaik. Microsoft menawarkan pelbagai alat untuk keperluan automasi anda, tanpa perlu memasang aplikasi pihak ketiga. Panduan ini akan memperincikan cara memanfaatkan PowerShell untuk mengautomasikan tugas. Apakah skrip PowerShell? Jika anda mempunyai pengalaman menggunakan PowerShell, anda mungkin telah menggunakan arahan untuk mengkonfigurasi sistem pengendalian anda. Skrip ialah koleksi arahan ini dalam fail .ps1. Fail .ps1 mengandungi skrip yang dilaksanakan oleh PowerShell, seperti Get-Help asas

Cara membaiki fon antara muka PS yang terlalu kecil: 1. Buka PS, klik butang "Edit" pada bar menu atas PS untuk mengembangkan menu suntingan 2. Klik butang "Preferences" dalam menu suntingan yang diperluaskan; dan kemudian klik butang "Antaramuka. .." 3. Dalam tetapan antara muka, tetapkan saiz fon antara muka pengguna kepada "Besar", tetapkan penskalaan UI kepada "200%" dan simpan tetapan, kemudian mulakan semula PS untuk berkuat kuasa.

1. Ctrl + N: Buat dokumen baharu. 2. Ctrl + O: Buka fail. 3. Ctrl + S: Simpan fail semasa. 4. Ctrl + Shift + S: Simpan sebagai. 5. Ctrl + W: Tutup dokumen semasa. 6. Ctrl + Q: Keluar dari Photoshop. 7. Ctrl + Z: Buat asal. 8. Ctrl + Y: Buat semula. 9. Ctrl + X: Potong kandungan yang dipilih. 10. Ctrl + C: Salin kandungan yang dipilih.

Kekunci pintasan lengkung ps ialah Ctrl+M Kekunci pintasan lengkung lain: 1. Tukar ke lengkung kawalan titik, Alt+Shift+Ctrl+T 2. Selaraskan lengkung secara automatik, Alt+Shift+Ctrl+O; lengkung lalai, Ctrl+Alt+Shift+R; 4. Salin lengkung, Ctrl+Alt+Shift+C; anak panah ke bawah; 7. Laraskan kecerahan lengkung, Shift+anak panah kiri dan kanan
