主要内容

整数运算

这个例子展示了如何对表示信号和图像的整数数据执行算术运算。

负载整数信号数据

负载测量数据集,包括来自四个仪器的信号,使用8位和16位A-to-D,结果数据保存为int8int16而且uint16.时间存储为uint16

负载integersignal查看变量Signal1Signal2Signal3Signal4Time1
名称大小字节类属性Signal1 7550x1 7550 int8 Signal2 7550x1 7550 int8 Signal3 7550x1 15100 int16 Signal4 7550x1 15100 uint16 Time1 7550x1 15100 uint16

图数据

首先,我们将绘制两个信号,以查看信号的范围。

plot(Time1, Signal1, Time1, Signal2);网格;传奇(“Signal1”“Signal2”);

图中包含一个轴对象。axis对象包含2个line类型的对象。这些对象表示Signal1, Signal2。

这些值很可能需要按比例计算信号所代表的实际物理值,例如伏特。

处理数据

我们可以对整数执行标准算术,例如+-,/.假设我们想求出Signal1和Signal2的和。

SumSig = Signal1 + Signal2;这里我们对整数信号求和。

现在我们画出和信号,看看它的饱和位置。

班;情节(Time1 SumSig);持有饱和= (SumSig == intmin(“int8”) | (SumSig == intmax(“int8”));找到它已经饱和的地方情节(Time1(饱和),SumSig(饱和),“路”)栅格舱

图中包含一个轴对象。axis对象包含2个line类型的对象。

标记显示了信号饱和的位置。

加载整型图像数据

接下来我们将看一些图像数据的算术。

Street1 = imread(“street1.jpg”);加载图像数据Street2 = imread(“street2.jpg”);谁street1street2
名称大小字节类型属性street1 480x640x3 921600 uint8 street2 480x640x3 921600 uint8

这里我们看到的图像是24位彩色的,存储为三个平面uint8数据。

显示图像

显示第一个图像。

班;图像(street1);显示图像平等的

图中包含一个轴对象。axis对象包含一个image类型的对象。

显示第二个图像。

图像(street2);显示图像平等的

图中包含一个轴对象。axis对象包含一个image类型的对象。

缩放图像

我们可以将图像按双精度常数缩放,但将图像存储为整数。例如,

暗度= 0.5 * street2;使用双常数缩放图像,但创建一个整数乏味
名称大小字节类型属性duller 480x640x3 921600 uint8
次要情节(1、2、1);图像(street2);轴平等的标题(“原始”);显示图像次要情节(1、2、2);图像(乏味);轴平等的标题(“乏味”);显示图像

图中包含2个轴对象。标题为Original的坐标轴对象1包含一个image类型的对象。标题为Duller的Axes对象2包含一个image类型的对象。

添加图片

我们可以把这两张街道图像加在一起,绘制出鬼魅般的结果。

组合= street1 +更沉闷;添加|uint8|图像次要情节(1 1 1)班;图像(组合);显示图像标题(“组合”);轴平等的

图中包含一个轴对象。标题为Combined的axes对象包含一个image类型的对象。