您的位置 首页 > 数码极客

如何使用Matlab将黑白色互换

上一篇文章,介绍了MATLAB中数字图像处理的四则运算,现在继续介绍数字图像代数运算中的绝对值差运算(imabsdiff())、线性组合运算(imlincomb())和图像求补运算(imcomplement())。

(1)在MATLAB中,提供了imabsdiff()函数,用于计算两幅图像的绝对值差。该函数的调用格式如下:

  • Z = imabsdiff(X,Y):将同类型且同大小的图像X和Y的对应元素分别作减法,返回差值的绝对值,所以输出结果Z的类型和大小与X和Y一致;如果X和Y是整型数组,输出结果Z中超过整数类型范围的部分会被截断;如果X和Y是浮点数组,该函数与abs(X-Y)一致。

(2)在MATLAB中,提供了imlincomb()函数,用于实现线性组合运算。该函数把输入参数按双精度类型进行代数运算,但要对输出结果进行截取。该函数的调用格式如下:

  • Z = imlincomb(K1,A1,K2,A2,...,Kn,An):计算K1*A1 + K2*A2 + ... + Kn*An,Kn为每个数组An对应的权系数,为一个实数;An为图像数组,类型和大小相同;输出结果Z与An的类型与大小一致;

  • Z = imlincomb(K1,A1,K2,A2,...,Kn,An,K):计算K1*A1 + K2*A2 + ... + Kn*An + K;

  • Z = imlincomb(...,output_class):output_class可以指定输出结果Z的类型,例如‘uint8’,'uint16','double'等。

(3)在MATLAB中,提供了imcomplement()函数,用于进行图像求补运算。该函数适用于各种图像格式,其调用格式如下:

  • IM2 = imcomplement(IM):计算图像IM的补;输出结果IM2与IM的数据类型与大小一致;如果IM为二值图像时,会0变1,1变0,即实现黑白互换;如果IM为灰度图像或RGB图像时,会用该类型所支持的最大值减每个像素值,输出差值。

下面,通过一个实例来具体说明以上三种数学图形运算的操作方法:

代码:

显示效果:

最后,感谢您的耐心阅读!

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“如何使用Matlab将黑白色互换”边界阅读