Matlab中 double(a(:,:,1))是什么意思

 我来答
大野瘦子
高粉答主

2019-07-06 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:1227
采纳率:100%
帮助的人:34万
展开全部

Matlab中double(a(:,:,1))表示将三维矩阵a的第1页的所有元素强制转换为double双精度数值类型。

对于二维矩阵,两个维度分别为行和列,而三维矩阵的维度为行、列、页(或者理解为层);a(:,:,1)就表示所有的行所有的列第1页,也就是第1页的所有元素。

a是一个3维矩阵,a(:,:,1)是第三维是1的一个二维矩阵,double(a(:,:,1))把此矩阵变为双精度。

扩展资料:

注意事项

在matlab中,为了保证精度,经过了运算的图像矩阵I其数据类型会从unit8型变成double型。 

如果直接运行imshow(I),我们会发现显示的是一个白色的图像。这是因为imshow()显示图像时对double型是认为在0~1范围内,即大于1时都是显示为白色,而imshow显示uint8型时是0~255范围。

解决办法如下: 

1、imshow(I/256); % 将图像矩阵转化到0-1之间 

2、imshow(I,[]); % 自动调整数据的范围以便于显示 

3、inshow(unit8(I)); % 转成unit8

learneroner
高粉答主

推荐于2016-08-31 · 关注我不会让你失望
知道大有可为答主
回答量:1.1万
采纳率:91%
帮助的人:6538万
展开全部

Matlab中double(a(:,:,1))表示将三维矩阵a的第1页的所有元素强制转换为double双精度数值类型。

对于二维矩阵,两个维度分别为行和列,而三维矩阵的维度为行、列、页(或者理解为层);a(:,:,1)就表示所有的行所有的列第1页,也就是第1页的所有元素,参考如下形象的图示:

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
安菲尔德骑士
推荐于2018-03-07 · TA获得超过260个赞
知道小有建树答主
回答量:154
采纳率:0%
帮助的人:155万
展开全部
a是一个3维矩阵,a(:,:,1)是第三维是1的一个二维矩阵,double(a(:,:,1))把此矩阵变为双精度
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式