Matlab之整数运算

本例说明如何对表示信号和图像的整数数据执行算术运算。

工具/原料

  • 电脑
  • Matlab软件

方式/步骤

  1. 1

    加载整数旌旗灯号数据。

    负载测量数据集,包罗来自四个仪器的旌旗灯号,利用8位和16位A-to-D,成果将数据保留为int8、int16和uint16。时候存储为uint16。

    在号令行窗口,输入如下号令:

    load integersignal

    % Look at variables

    whos Signal1 Signal2 Signal3 Signal4 Time1

    按“Enter键”。

    如图1所示。

  2. 2

    画图数据。

    首先,我们将绘制两个旌旗灯号,以查看旌旗灯号规模。

    在号令行窗口,输入如下号令:

    plot(Time1, Signal1, Time1, Signal2);

    grid;

    legend('Signal1','Signal2');

    按“Enter键”。

    如图2所示。

    这里我们看到int8的值。

    很可能需要对这些值进行缩放,以计较旌旗灯号暗示的现实物理值,例如伏特。

  3. 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所示。

    标识表记标帜显示旌旗灯号饱和的处所。

  4. 4

    加载整数图像数据。

    接下来我们将研究一些图像数据的算法。

    在号令行窗口,输入如下号令:

    street1 = imread('street1.jpg'); % Load image data

    street2 = imread('street2.jpg');

    whos street1 street2

    按“Enter键”。

    如图4所示。

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

  5. 5

    显示图像。

    显示第一个图像。

    在号令行窗口,输入如下号令:

    cla;

    image(street1); % Display image

    axis equal

    axis off

    按“Enter键”。

    如图5所示。

  6. 6

    显示第二个图像。

    在号令行窗口,输入如下号令:

    image(street2); % Display image

    axis equal

    axis off

    按“Enter键”。

    如图6所示。

  7. 7

    缩放图像。

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

    在号令行窗口,输入如下号令:

    duller = 0.5 * street2; % Scale image with a double constant but create an integer

    whos duller

    按“Enter键”。

    如图7所示。

  8. 8

    在号令行窗口,输入如下号令:

    subplot(1,2,1);

    image(street2);

    axis off equal tight

    title('Original');  % Display image

    subplot(1,2,2);

    image(duller);

    axis off equal tight

    title('Duller');    % Display image

    按“Enter键”。

    如图8所示。

原作者:Matlab教程举报
  • 发表于 2020-02-10 20:00
  • 阅读 ( 68 )
  • 分类:其他类型

相关问题

0 条评论

请先 登录 后评论