中国史之【成康之治】:
成康之治指中国西周初周成王、周康王的治世。周成王继位时年幼,由周公旦摄政,平定三监之乱。周成王与其子周康王统治期间,国力强盛,文化昌盛,社会安定繁荣、百姓安居乐业,故被后世誉为“成康之治”。史家称“成康之际,天下安宁,刑错四十余年不用”。
——来源:全历史APP
俗话说:“好记性不如烂笔头”,多写写多记记,总不会错。多一些不为什么的坚持,少一些功利主义的追求。
今天介绍图像处理的加法运算。本内容参考自《实用MATLAB图像和视频处理》第6章。
- 对于matlab2021的安装,可以参考公众号【CV之道】的文章:【matlab安装】手把手图文并茂安装matlab2021(win10版)
关于图像的算术运算,其实就是逐像素进行处理,即在图像中运算是独立作用于各个像素的。这里的运算操作可以是二值操作符,如常见的“加减乘除”。
1、加法的类型
加法用来结合两幅图像的像素内容,或对一幅图像的像素值加一个常数。
(1)将两幅单色图像的内容加起来使得它们的内容混合,如下将两个图结合。
(2)将一个正数值(标量)加到一幅图像,可以增加图像亮度,当然,加上一个负数,就会使图像变暗。如下图。
(3)还可以给图像添加噪声,也就是对各个像素值加随机量,是一种常见的加噪方法。加噪的图像常用来测试算法稳健性。
2、处理加法的溢出
毕竟是像素值相加,有可能会出现像素值溢出的情况,也就是超出数据类型所允许的最大像素值。有两种方法可以解决溢出:归一化和截断。
1)归一化是对所有像素值进行统一的放缩。如将0255的范围归一化到01的范围。常用的归一化公式是:
其中Lmax是最大可能的亮度值,如uint8是255,double是1.0,f是当前像素值,分母是图像中最大的像素值减去最小的像素值。
2)截断就是很粗鲁地将溢出的像素值设为该数据类型的最大正数,如将300改为255。
在matlab中,两幅图像相加,可以使用函数imadd,其实使用的就是截断。举例如下:
我们先计算两个图像之和,然后分别用两种方法进行处理溢出的像素。
上面的方法是归一化,下面的方法是截断,可以使用imadd函数处理。
从上图可以看出,使用imadd函数,可以直接将大于255的像素值置为255。以下为代码:
>> X = uint8([200 100 100; 0 10 50; 50 250 120]);
>> Y = uint8([100 220 230; 45 95 120; 205 100 0]);
>> W = uint16(X) + uint16(Y); % 防止装不下,换成16位
>> fmax = max(W(:)) % 取最大
fmax =
uint16
350
>> fmin = min(W(:));
>> Za = uint8(255.0 * double((W - fmin))/double((fmax-fmin)))
Za =
3×3 uint8 矩阵
213 230 238
0 50 105
176 255 63
>> Zb = imadd(X,Y)
Zb =
3×3 uint8 矩阵
255 255 255
45 105 170
255 255 120
【声明】:学习笔记基于互联网上各种学习资源的个人整理。
以上是本期内容,下期介绍图像处理的减法运算。
我叫小保,一名计算机视觉爱好者、学习者、追随者,欢迎关注我一起学习。
![](https://im%0ag-blog.csdnimg.cn/15d674e53cbc42aca66335fd763dff6b.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAY3blsI_nmb1famFja2tv,size_14,color_FFFFFF,t_70,g_se,x_16)