Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

im2frame

将图像转换为影片帧

说明

示例

F = im2frame(RGB) 将真彩色图像 RGB 转换为影片帧 F

F = im2frame(X,map) 将索引图像 X 和关联的颜色图 map 转换为影片帧 F

F = im2frame(X) 使用当前颜色图将索引图像 X 转换为影片帧 F

示例

全部折叠

加载狒狒面部的索引图像。

load mandrill

使用关联的颜色图 map(包含 220 种颜色)显示图像 X

figure
image(X)
colormap(map)
axis off

Figure contains an axes object. The axes object contains an object of type image.

制作一部影片,用于展示减少图像颜色数量的效果。总共将有八个影片帧。预分配一个结构体数组来存储影片帧。

F(8) = struct('cdata',[],'colormap',[]);

以循环方式,使用 imapprox 函数减少索引图像中的颜色数量。使用 im2frame 函数将图像转换为影片帧。第一帧是具有所有 220 种颜色的原始图像。第二帧有 128 种颜色。每个后续帧的颜色数量都依次减半。最后一帧的颜色最少,只有 2 种。

for j = 1:8
    q = 2^(9-j);
    [Y,newmap] = imapprox(X,map,q,'nodither');
    F(j) = im2frame(Y,newmap);
end

要以每秒三帧的帧速率播放影片两次,请使用 movie(F,2,3)

输入参数

全部折叠

真彩色图像,指定为 m×n×3 数值数组。如果指定数据类型为 double 的图像,则值必须在 [0, 1] 范围内。

数据类型: double | uint8

索引图像,指定为 m×n 整数矩阵。

数据类型: double | uint8

与索引图像 X 相关联的颜色图,指定为由范围 [0, 1] 内的值组成的 c×3 数值矩阵。map 的每行都是一个三元素 RGB,指定颜色图的单种颜色的红、绿和蓝分量。

数据类型: double

输出参数

全部折叠

影片帧,以包含下列两个字段的结构体形式返回:

  • cdata - 存储为 uint8 值数组的图像数据。

  • colormap - 颜色图。对于真彩色 (RGB) 图像,此字段为空。

版本历史记录

在 R2006a 之前推出

另请参阅

| |