• 大小: 78KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-09
  • 语言: Matlab
  • 标签: photoshop  混合  matlab  

资源简介

运行testpsmath.m,按任意键得到下一个效果的结果

资源截图

代码片段和文件信息

function composite = blendfunc(base blend mode)
switch(mode)
    case ‘lighten‘
        composite = lighten(base blend);
    case ‘darken‘
        composite = darken(base blend);
    case ‘multiply‘
        composite = multiply(base blend);
    case ‘screen‘ 
        composite = screen(base blend);
    case ‘overlay‘
        composite = overlay(base blend);          
    case ‘softlight‘
        composite = softlight(base blend);      
    case ‘colordodge‘
        composite = colordodge(base blend);
    case ‘colorburn‘
        composite = colorburn(base blend);
    case ‘lineardodge‘
        composite = lineardodge(base blend);
    case ‘linearburn‘
        composite = linearburn(base blend);
    case ‘difference‘
        composite = difference(base blend);
    case ‘vividlight‘
        composite = vividlight(base blend);
    case ‘pinlight‘
        composite = pinlight(base blend);
    case ‘hardmix‘
        composite = hardmix(base blend);
    case ‘exclusion‘
        composite = exclusion(base blend);
    case ‘linearlight‘
        composite = linearlight(base blend);
    otherwise
        error(‘Incorrect blending option‘);
end

function composite = darken(base blend)
composite = min(base blend);

function composite = lighten(base blend)
composite = max(base blend);

function composite = multiply(base blend)
composite = base .* blend;

function composite = screen(base blend)
composite = base + blend .* (1.0 - base);

function composite = overlay(base blend)
composite = base + (blend - 0.5) .* (1.0 - abs(2.0 * base - 1.0));

function composite = softlight(base blend)
mask = blend > 0.5;
composite = base .* (2.0 * blend + base .* (1.0 - 2.0 * blend));
composite2 = sqrt(base) .* (2.0 * blend - 1.0) + 2.0 * base .* (1.0 - blend);
composite(mask) = composite2(mask);

function composite = colordodge(base blend)
mask = (blend ~= 1.0);
composite = blend;
composite2 = min(base ./ (1.0 - blend) 1.0);
composite(mask) = composite2(mask);

function composite = colorburn(base blend)
mask = (blend ~= 0.0);
composite = blend;
composite2 = max((1.0 - ((1.0 - base) ./ blend)) 0.0);
composite(mask) = composite2(mask);

function composite = difference(base blend)
composite = abs(base - blend);

function composite = vividlight(base blend)
mask = (blend > 0.5);
composite = colorburn(base 2.0 * blend);
composite2 = colordodge(base 2.0 * blend - 1.0);
composite(mask) = composite2(mask);

function composite = pinlight(base blend)
mask = (blend > 0.5);
composite = darken(base 2.0 * blend);
composite2 = lighten(base 2.0 * blend - 1.0);
composite(mask) = composite2(mask);

function composite = hardmix(base blend)
vivid_light = vividlight(base blend);
composite = zeros(size(base));
composite(vivid_light > 0.5) = 1.0;

function composite = linearburn(base blend)
composite = max(base + blend - 1.0 0.0);

function composite = lineardodge(b

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      25782  2010-05-07 22:08  PsBlend\base.jpg

     文件      53632  2010-05-07 22:07  PsBlend\Blend.jpg

     文件       3349  2010-05-08 01:19  PsBlend\blendfunc.m

     文件       1508  2010-05-08 01:23  PsBlend\testpsmath.m

     目录          0  2010-05-08 01:20  PsBlend

     文件         16  2010-05-08 01:25  PsBlend\ReadMe.txt

----------- ---------  ---------- -----  ----

                84287                    6


评论

共有 条评论