本文介绍了以下冒号(:)在MATLAB语法中是什么意思?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
a = imread('autumn.tif');
a = double(a);
[row col dim] = size(a);
red = a(:, :, 1);
green = a(:, :, 2);
blue = a(:, :, 3);
结尾的:
是什么?三行是什么意思? (上面的片段来自Dhananjay Theckedath的图像处理。)
What does the colon :
in the last three lines mean? (The above snippet is from "Image Processing" by Dhananjay Theckedath.)
推荐答案
:
,在此上下文中表示'all'。
:
, in this context means 'all'.
red = a(:,:,1)
相当于
red = a(1:end,1:end,1)
其中 end
由Matlab自动替换为相应维度中的元素数量。
where end
is automatically replaced by the number of elements in the respective dimension by Matlab.
因此,如果 a
是一个23乘55乘3的数组,
So if a
is a 23-by-55-by-3 array,
a(:,:,1)
是
a(1:23, 1:55, 1)
这意味着,这将占用所有行,的第一个'平面'的所有列a
。由于RGB图像由红色,绿色和蓝色平面
组成(按此顺序), a(:,:,1)
是图像的红色成分。
That means, this takes all rows, all columns from the first 'plane' of a
. Since a RGB image is composed of a red, green, and a blue plane
(in this order), a(:,:,1)
is the red component of the image.
这篇关于以下冒号(:)在MATLAB语法中是什么意思?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!