搜索
首页web前端PS教程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色调均化滤镜的快捷实现(C#源代码)。    PS色调均化滤镜的快捷实现(C#源代码)。     PS色调均化滤镜的快捷实现(C#源代码)。

                      原图                               PS的色调均化                               郎锐课本上的效果

更多PS色调均化滤镜的快捷实现(C#源代码)。相关文章请关注PHP中文网!

 

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
比较Photoshop定价:选项和好处比较Photoshop定价:选项和好处May 12, 2025 am 12:17 AM

AdobePhotoshop提供三种套餐:1)单一应用计划,适合只需Photoshop的用户,费用较低,包含20GB云存储;2)CreativeCloud全套计划,适合需多种Adobe应用的用户,费用较高,包含100GB云存储;3)学生和教师优惠计划,适合预算有限的学术用户,费用低,包含20GB云存储。

是什么使Photoshop与众不同?它的主要功能是什么使Photoshop与众不同?它的主要功能May 11, 2025 am 12:16 AM

Photoshop'sprimaryfunctionistoenableuserstomanipulate,enhance,andcreatedigitalimageswithprecisionandcontrol.Itsspecialfeaturesinclude:1)alayer-basededitingsystemforindependentelementmanipulation,2)anextensivelibraryoftoolsandfiltersforvarioustasks,an

Photoshop:专业图像编辑的成本Photoshop:专业图像编辑的成本May 10, 2025 am 12:19 AM

Photoshop的使用成本包括直接费用、时间与学习曲线、资源与硬件投入。1.直接成本:订阅制每月$20至$50,一次性购买数百美元。2.时间与学习:需要大量时间和实践,建议通过在线课程和教程学习。3.资源与硬件:需要高性能电脑和足够存储空间,确保硬件配置以提升效率。

图像编辑必需品:Photoshop的关键功能图像编辑必需品:Photoshop的关键功能May 09, 2025 am 12:05 AM

Photoshop的核心功能包括图层、选区工具和调整工具。1.图层允许独立编辑图像部分,支持图层样式。2.选区工具如套索、魔术棒和快速选择工具,提供精确编辑。3.调整工具如色阶、曲线和色相/饱和度,可非破坏性调整图像。

我的目的:协助与Photoshop相关的任务我的目的:协助与Photoshop相关的任务May 08, 2025 am 12:18 AM

在Photoshop中,图层蒙版的作用是允许以非破坏性的方式隐藏或显示图层的一部分。1.图层蒙版的工作原理是通过黑白灰度控制图层的可见性。2.基本用法包括图像合成,如将人物图像合成到新背景中。3.高级用法可利用渐变蒙版实现图像平滑过渡。

Photoshop和免费替代方案:比较外观Photoshop和免费替代方案:比较外观May 06, 2025 am 12:12 AM

Photoshop的强大功能包括智能对象和神经滤镜等,而免费替代品如GIMP、Krita和Photopea在特定领域表现出色,如GIMP的图层功能、Krita的数字绘画和Photopea的在线编辑。

Photoshop颜色分级:通过专业技术提升图像Photoshop颜色分级:通过专业技术提升图像May 05, 2025 am 12:07 AM

在Photoshop中进行色彩调整可以通过调整层实现,使图像更专业。1.使用色阶、曲线、色相/饱和度等工具调整色调、饱和度和亮度。2.应用LUT创建独特色彩效果。3.使用调整层避免图像失真,并利用“历史记录”面板跟踪调整步骤。

现实世界中的Photoshop:多样化用途的示例现实世界中的Photoshop:多样化用途的示例May 04, 2025 am 12:15 AM

Photoshop在现实世界中的应用包括艺术创作、科学研究和商业营销。1)在艺术创作中,用于数字绘画和插图。2)在科学研究中,用于图像处理和数据可视化。3)在商业营销中,用于广告设计和品牌形象塑造,这款软件的多功能性使其在各领域中广泛应用。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中