matlab像素值截止点_Matlab\Excel 实现Ps混合模式

工作中很少使用Photoshop,哪怕生活中用来修图都很少。现在写这个也是想后边好好学一下Photoshop,把以前是懂非懂的地方彻底弄明白,正好会一点点Matlab和Excel,准备用两个软件实现Ps中混合效果。使用Matlab需要注意的是图像在软件中的存储(Unit8)与计算格式(Double)的区别,不然计算很容易溢出,使用Excel的时候只是当单元格样式太多的时候进行不下去(网上说上限64000)。下边的所有讨论都已RGB为例(软件适合矩阵运算),就不讨论WB和灰度图了。

下边的例子采用的两张图像:A 金门大桥 300像素×453像素(图 1);B 湿地公园 300像素×453像素(图 2);与PS混合模式A B位置相同,A为基色(Base color)位于底层,B为混合色(Mixed color)位于面层,假设C为A、B图层指定混合模式的结果色,混合模式公式见图 3。

de9ec1ceeb06f9ec19ccf589f5af4bf2.png
图 1 A 金门大桥

4bb1fbda0d60e9cfba03488fa716b38c.png
图 2 B 湿地公园

53b942a7a622d33708126d2b22fbec3e.png
图 3 混合模式计算公式

53ca7be57388b629b6f0b7d38d208cab.png
图 4 混合模式分组

将A、B两图层离散为2个M×N×3的三位维数组A[M×N×3]与B[M×N×3],其中M、N分别为高度与宽度方向上的像素点个数。三页数组分别记录RGB三个通道值。混合方法是取A层任意一个像素点A(m,n)与B层同一位置的像素B(m,n)进行数学运算(m、n为像素点在矩阵中行列位置),其对应RGB值分别为A[(m,n,1), (m,n,2), (m,n,3)]和B[(m,n,1), (m,n,2), (m,n,3)],同一位置两个点的三个通道按照混合公式单独对应计算得到对应点结果色Cm,n的值C[(m,n,1), (m,n,2), (m,n,3)]。这里直接给出根据混合模式计算结果,并与Ps结果对比,完全一致,这里特别提一下,Matlab与Ps图层顺序严格一致,此外这里不讨论每种混合模式特性与具体用途,全部文件可在我的百度文库下载。变暗组结果:

93b522d7329abf3918c5d4ff71c7dfc4.png
图 5 Matlab变暗组

f120f4d61cde2f8777f0bbefc56a5970.png
图 6 Ps变暗组

变亮组结果:

7e1ce743533ae5054cb349cb946063d4.png
图 7 Matlab变亮组

50d322138d642bab40982c6d25c01c17.png
图 8 Ps变亮组

对比组结果:

5f0bfb2b0498cd2bb506cf206e0e4604.png
图 9 Matlab对比组

2303950ac2d1d04cdb9d05a2375fc49c.png
图 10 Ps对比组

给出的matlab代码也随便计算了一下AB交换位置后的结果,主要是网上有教程将AB做反了,还获得了意想不到效果或者说工具。

此外,Matlab也不是常用的工具, Excel也可以做矩阵运算啊(还用不上Excel矩阵运算),也可以实现Ps混合效果。再吐槽一个,很多年前看到一个日本老人用Excel作画,一画还十几年,一个一个像素点(单元格)去做,和冷军一个是数字信号一个是模拟信号啊。言归正传,Excel其实更好理解,A、B每个图层分别采用3个工作表记录三个通道颜色,6个工作表即可完成记录,生成图层3个对应通道,再用VBA在对应位置对单元格进行填充,就完成了日本老人的爱好了。简单做了反相和变亮两组打成JPG格式的如下,有点不好的是对于图像大了,Excel格式样式总数收到限制,某些混合模式不能全部填充出来。

cd8aedeb858235518d2bd74e94e425d6.png
图 11 反相

5a41780438e20a5bb10e6266117e4171.png
图 12 变亮

百度网盘

提取码:s7af


11 反相

12 变亮
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值