这段代码是什么意思?

时间:2015-07-28 11:24:42

标签: matlab

我遇到了这段代码:

file = imread(files(i).name);
file = file(1:1800, 520:2000, :);

试图告诉我们的第二个行是什么?它是否尝试分配“红色”,“绿色”和“蓝色”值?最后:代表什么?

感谢。

3 个答案:

答案 0 :(得分:3)

<?php $sitename="xyx"; $email="info@xyz.com"; $mail_subject = $sitename."Contact Form Mail"; $to_mail_body = "Hello xyz"; $toemail="xyz.xyz@gmail.com"; $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; $headers .= 'From: '.$sitename.' <'.$email.'> ' . "\r\n"; @mail($toemail,$mail_subject,$to_mail_body,$headers); ?> 返回由imread数组表示的图像。

n x m x 3从这个数组中提取一个矩形,即前1800行和索引在520和2000之间的列。

最后一个file(1:1800, 520:2000, :)告诉MATLAB选择所提取矩形的所有通道。尝试用例如替换:,当1传递给file时,您会看到黑白图像。

答案 1 :(得分:1)

调用imread后,变量file是一个3D数组,其中每个维度代表:

1:身高

2:宽度

3:色带数量。

因此请致电:

file = file(1:1800, 520:2000, :);

实际上裁剪图像,现在它是1800 x(2000 - 520 + 1)x无论如何。

最后:colon)表示您希望获取与该维度相对应的所有值,即红色,绿色和蓝色(如果这是RGB图像)。

答案 2 :(得分:0)

在第二行分配后,文件的值将被替换为:
- 第一个单元格的“文件”的第一个单元格的第一个单元格的第1个到第1800个单元格的值

- 第二个单元格的第二个单元格ok“文件”的前一个定义的第520个到第2000个单元格的值为

- 对于thrid单元格的前一个“file”定义的所有值。

:表示所有数据,而1:1800表示“从1到1800”