PS 图像调整算法——黑白

这个算法是参考自 阿发伯 的博客:

http://blog.csdn.net/maozefa

黑白调整

Photoshop CS的图像黑白调整功能,是通过对红、黄、绿、青、蓝和洋红等6种颜色的比例调节来完成的。能更精细地将彩色图片转换为高质量的黑白照片。

    Photoshop CS图像黑白调整功能的计算公式为:

    gray= (max - mid) * ratio_max + (mid - min) * ratio_max_mid + min

    公式中:gray为像素灰度值,max、mid和min分别为图像像素R、G、B分量颜色的最大值、中间值和最小值,ratio_max为max所代表的分量颜色(单色)比率,ratio_max_mid则为max与mid两种分量颜色所形成的复色比率。

默认的单色及复色比率为:

Color_Ratio(1)=0.4;     %%%% Red

Color_Ratio(2)=0.6;     %%%% Yellow

Color_Ratio(3)=0.4;     %%%% Green

Color_Ratio(4)=0.6;     %%%% Cyan

Color_Ratio(5)=0.2;     %%%% Blue

Color_Ratio(6)=0.8;     %%%% Magenta


Program:

%%%%%  程序实现图像的黑白调整功能

clc;
clear all;
close all;
Image=imread('9.jpg');
Image=double(Image);
R=Image(:,:,1);
G=Image(:,:,2);
B=Image(:,:,3);
[row, col] = size(R);
Gray_img(1:row,1:col)=0;
Sum_rgb=R+G+B;
%%%% 各种颜色的默认比率
Color_Ratio(1:6)=0;
Color_Ratio(1)=0.4;     %%%% Red
Color_Ratio(2)=0.6;     %%%% Yellow
Color_Ratio(3)=0.4;     %%%% Green
Color_Ratio(4)=0.6;     %%%% Cyan
Color_Ratio(5)=0.2;     %%%% Blue
Color_Ratio(6)=0.8;     %%%% Magenta
for i=1:row
    for j=1:col
        r=R(i,j);
        g=G(i,j);
        b=B(i,j);
        Max_value=max(r,max(g,b));
        Min_value=min(r,min(g,b));
        Mid_value=Sum_rgb(i,j)-Max_value-Min_value;
        if(Min_value==r)
            Index=0;
        elseif(Min_value==g)
            Index=2;
        else
            Index=4;
        end
        ratio_max_mid=Color_Ratio(mod(Index+3,6)+1);
        if(Max_value==r)
            Index=1;
        elseif(Max_value==g)
            Index=3;
        else
            Index=5;
        end
        ratio_max=Color_Ratio(Index);
        Temp=(Max_value-Mid_value)*ratio_max+(Mid_value-Min_value)...
                      *ratio_max_mid+Min_value;
        Gray_img(i,j)=(Max_value-Mid_value)*ratio_max+(Mid_value-Min_value)...
                      *ratio_max_mid+Min_value;
    end
end

imshow(Image/255);
figure, imshow(Gray_img/255);



原图:


黑白 



### Photoshop Neural Filters 功能介绍 #### 着色滤镜 “着色”滤镜采用深度学习技术来处理输入的照片,无论是黑白还是彩色。该工具能够识别图像内的物体、背景以及其他组成部分,并基于这些信息以及用户的偏好设定自动挑选合适的配色方案应用于图片之中[^1]。 ```python # Python模拟调用Photoshop API应用着色滤镜(示意代码) def apply_colorization(image_path, profile='default'): from photoshop import Session with Session() as ps: doc = ps.open(image_path) colorize_layer = doc.artLayers.add() colorize_layer.name = "Colorized" # 应用神经网络着色算法 ps.app.applyNeuralFilter('colorize', {'profile': profile}) ``` #### 超级缩放滤镜 对于希望提升画质的需求,“超级缩放”是一个不错的选择。它依赖于AI和ML技术深入解析每一张上传来的影像资料,精准定位其中的关键部位与特性,在此基础上合理增加细节层次感,让画面看起来更为清晰明了;与此同时还能有效去除因JPEG格式压缩所造成的不良影响因素,比如马赛克现象或是杂乱无章的小斑点等问题[^2]。 ```python # Python模拟调用Photoshop API应用超级缩放滤镜(示意代码) def super_zoom_in(image_path): from photoshop import Session with Session() as ps: doc = ps.open(image_path) zoomed_layer = doc.artLayers.add() zoomed_layer.name = "SuperZoomed" # 执行放大并优化操作 ps.app.applyNeuralFilter('superzoom') ``` #### 照片恢复滤镜 当面对一些年代久远或者保存不当造成损坏的老照片时,“照片恢复”功能显得尤为重要。这项服务可以迅速修复那些褪色严重、对比度低下的老相片,不仅能使它们焕发出新的生机活力,而且还可以清除表面存在的细微瑕疵如划痕之类的东西。如果再配合前面提到过的‘着色’一起使用的话,则能取得更佳的整体视觉呈现效果[^3]。 ```python # Python模拟调用Photoshop API应用照片恢复滤镜(示意代码) def restore_old_photo(image_path): from photoshop import Session with Session() as ps: doc = ps.open(image_path) restored_layer = doc.artLayers.add() restored_layer.name = "Restored" # 启动AI驱动的照片修复过程 ps.app.applyNeuralFilter('photorestore') ``` #### 协调度量滤镜 在创建复杂的多层设计作品过程中,“协调”滤镜可以帮助设计师轻松解决不同素材间可能存在不一致的情况——即确保各个部分之间无论是在色调还是光照强度方面都能达到和谐统一的状态,从而营造出一种浑然天成的艺术氛围[^4]。 ```python # Python模拟调用Photoshop API应用协调度量滤镜(示意代码) def harmonize_layers(layer_ids): from photoshop import Session with Session() as ps: for layer_id in layer_ids: target_layer = ps.activeDocument.artLayers[layer_id] # 对选定图层实施色彩平衡调整 ps.app.applyNeuralFilter('harmonize', {'targetLayerId': layer_id}) ``` #### 色彩转移滤镜 最后要介绍的是“色彩转移”,这是一种非常有趣的创意手段。通过指定一幅作为参照物的作品,软件会仔细研究两者之间的区别之处(例如平均颜色倾向、鲜艳程度差异等),进而按照前者的样子重新塑造后者,最终达成风格上的转变目的[^5]。 ```python # Python模拟调用Photoshop API应用色彩转移滤镜(示意代码) def transfer_colors(reference_image_path, target_image_path): from photoshop import Session with Session() as ps: ref_doc = ps.open(reference_image_path) tgt_doc = ps.open(target_image_path) # 开始执行跨文档的颜色迁移任务 ps.app.transferColorsBetweenDocuments(ref_doc.id, tgt_doc.id) ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值