Matlab之整数运算
1、加载整数信号数据。负载测量数据集,包括来自四个仪器的信号,使用8位和16位A-to-D,结果将数据保存为int8、int16和uint16。时间存储为uint16。在命令行窗口,输入如下命令:load integersignal% Look at variableswhos Signal1 Signal2 Signal3 Signal4 Time1按“Enter键”。如图1所示。
2、绘图数据。首先,我们将绘制两个信号,以查看信号范围。在命令行窗口,输入如下命令:plot(Time1, Signal1, Time1, Signal2);grid;legend('Signal1','Signal2');按“Enter键”。如图2所示。这里我们看到int8的值。很可能需要对这些值进行缩放,以计算信号表示的实际物理值,例如伏特。
3、过程数据。我们可以对诸如+、-、*和/等整数执行标准运算。假设我们希望找到信号1和信号2的和。在命令行窗口,输入如下命令:SumSig = Signal1 + Signal2; % Here we sum the integer signals.按“Enter键”。现在让我们绘制和信号图,看看它在哪里饱和。在命令行窗口,输入如下命令:cla;plot(Time1, SumSig);hold onSaturated = (SumSig == intmin('int8')) | (SumSig == intmax('int8')); % Find where it has saturatedplot(Time1(Saturated),SumSig(Saturated),'rd')gridhold off按“Enter键”。如图3所示。标记显示信号饱和的地方。
4、加载整数图像数据。接下来我们将研究一些图像数据的算法。在命令行窗口,输入如下命令:street1 = imread('street1.jpg'); % Load image datastreet2 = imread('street2.jpg');whos street1 street2按“Enter键”。如图4所示。这里我们看到的图像是24位颜色,存储为三个平面的uint8数据。
5、显示图像。显示第一个图像。在命令行窗口,输入如下命令:cla;image(street1); % Display imageaxis equalaxis off按“Enter键”。如图5所示。
6、显示第二个图像。在命令行窗口,输入如下命令:image(street2); % Display imageaxis equalaxis off按“Enter键”。如图6所示。
7、缩放图像。我们可以用一个双精度常数来缩放图像,但要将图像保存为整数。例如,在命令行窗口,输入如下命令:duller = 0.5 * street2; % Scale image with a double constant but create an integerwhos duller按“Enter键”。如图7所示。
8、在命令行窗口,输入如下命令:subplot(1,2,1);image(street2);axis of熠硒勘唏f equal tighttitle('Original'); % Display imagesubplot(1,2,2);image(duller);axis off equal tighttitle('Duller'); % Display image按“Enter键”。如图8所示。