Matlab之整数运算

本例说明如何对表示信号和图像的整数数据执行算术运算 。
需要这些哦
电脑
Matlab软件
方式/
1加载整数旌旗灯号数据 。
负载测量数据集 , 包罗来自四个仪器的旌旗灯号 , 利用8位和16位A-to-D , 成果将数据保留为int8、int16和uint16 。 时候存储为uint16 。

在号令行窗口 , 输入如下号令:
load integersignal
% Look at variables
whos Signal1 Signal2 Signal3 Signal4 Time1
按“Enter键” 。
如图1所示 。

Matlab之整数运算

文章插图

2画图数据 。
起首 , 我们将绘制两个旌旗灯号 , 以查看旌旗灯号规模 。
在号令行窗口 , 输入如下号令:
plot(Time1, Signal1, Time1, Signal2);
grid;
leg('Signal1','Signal2');
按“Enter键” 。
如图2所示 。
这里我们看到int8的值 。
很可能需要对这些值进行缩放 , 以计较旌旗灯号暗示的现实物理值 , 例如伏特 。
Matlab之整数运算

文章插图

3过程数据 。

我们可以对诸如+、-、*和/等整数执行尺度运算 。 假设我们但愿找到旌旗灯号1和旌旗灯号2的和 。
在号令行窗口 , 输入如下号令:
SumSig = Signal1 + Signal2; % Here we sum the integer signals.
按“Enter键” 。
此刻让我们绘制和旌旗灯号图 , 看看它在哪里饱和 。
在号令行窗口 , 输入如下号令:
cla;
plot(Time1, SumSig);
hold on
Saturated = (SumSig == intmin('int8')) | (SumSig == intmax('int8')); % Find where it has saturated
plot(Time1(Saturated),SumSig(Saturated),'rd')
grid
hold off
按“Enter键” 。
如图3所示 。
标识表记标帜显示旌旗灯号饱和的处所 。
Matlab之整数运算

文章插图

4加载整数图像数据 。

接下来我们将研究一些图像数据的算法 。
在号令行窗口 , 输入如下号令:
street1 = imread('street1.jpg'); % Load image data
street2 = imread('street2.jpg');
whos street1 street2
按“Enter键” 。
如图4所示 。
这里我们看到的图像是24位颜色 , 存储为三个平面的uint8数据 。
Matlab之整数运算

文章插图

5显示图像 。

显示第一个图像 。

在号令行窗口 , 输入如下号令:
cla;
image(street1); % Display image
axis equal
axis off
按“Enter键” 。
如图5所示 。
Matlab之整数运算

文章插图

6显示第二个图像 。
在号令行窗口 , 输入如下号令:
image(street2); % Display image
axis equal
axis off
按“Enter键” 。
如图6所示 。
Matlab之整数运算

文章插图

7缩放图像 。
我们可以用一个双精度常数来缩放图像 , 但要将图像保留为整数 。 例如 ,

推荐阅读