我试图将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转换为单元格。"
我的错误在哪里?谢谢!
答案 0 :(得分:2)
查看impixel
的文档,它指出其输出都是类double
或single
。
在您的代码中,您将B
定义为单元格数组。将impixel
的输出存储在B
中没有问题。但是,如果使用括号()
对其进行索引,则期望分配的值也是单元格。您希望将impixel
的输出分配给B
的特定元素,并且需要使用花括号{}
来引用该元素。我相信将您的代码更改为
B{R-199,C-174} = impixel(I,R,C);
可以解决您的问题。
答案 1 :(得分:0)
错误应该在这一行:
B(R-199,C-174) = impixel(I,R,C);
在这种情况下, impixel
返回了double
类型,而B是cell
类型。