文档

整数运算

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

负载整数信号数据

负载测量数据集由4个仪器的信号组成,使用8位和16位A-to-D的结果数据保存为int8int16uint16。时间被存储为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”);

这里我们看到的值int8。很可能需要对这些值进行缩放,以计算信号所代表的实际物理值,如电压。

处理数据

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

SumSig = Signal1 + Signal2;这里我们将整数信号相加。

现在我们画出求和信号,看看它在哪里饱和。

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

标记显示信号已饱和的地方。

加载整数图像数据

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

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

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

显示图像

显示的第一个图像。

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

显示第二个图片

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

规模一个图像

我们可以用双精度常数缩放图像,但保持图像作为整数存储。例如,

Duller = 0.5 * street2;%缩放图像与双常量,但创建一个整数乏味
Name Size Bytes Class Attributes duller 480x640x3 921600 uint8
次要情节(1、2、1);图像(street2);轴平等的标题(“原始”);%显示图象次要情节(1、2、2);图像(乏味);轴平等的标题(“乏味”);%显示图象

添加图片

我们可以把这两幅街道图像加在一起,绘制出可怕的结果。

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

这个话题有用吗?