【发布时间】:2016-03-14 01:38:27
【问题描述】:
我正在尝试将impixel 函数给出的颜色值存储到矩阵或某种数组中。
B = cell(301, 51);
for R = 200: 500
for C = 175 : 225
B(R-199,C-174) = impixel(I,R,C);
end
end
我创建了一个单元格数组来保存这些值,但我不断收到以下错误:
“无法从 double 转换为单元格。”
我的错误在哪里?谢谢!
【问题讨论】:
我正在尝试将impixel 函数给出的颜色值存储到矩阵或某种数组中。
B = cell(301, 51);
for R = 200: 500
for C = 175 : 225
B(R-199,C-174) = impixel(I,R,C);
end
end
我创建了一个单元格数组来保存这些值,但我不断收到以下错误:
“无法从 double 转换为单元格。”
我的错误在哪里?谢谢!
【问题讨论】:
查看impixel 的文档,它声明其输出都属于double 或single 类。
在您的代码中,您将B 定义为一个元胞数组。将impixel 的输出存储在B 中没有问题。但是,如果您使用括号 () 对其进行索引,则它期望分配的值也是一个单元格。您想将impixel 的输出分配给B 的特定元素,并且需要使用花括号{} 来引用该元素。我相信将您的代码更改为
B{R-199,C-174} = impixel(I,R,C);
可能会解决您的问题。
【讨论】:
错误应该在这一行:
B(R-199,C-174) = impixel(I,R,C);
impixel 在这种情况下返回 double 类型,而 B 是 cell 类型。
【讨论】: