Matlab中 double(a(:,:,1))是什么意思
3个回答
展开全部
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
展开全部
a是一个3维矩阵,a(:,:,1)是第三维是1的一个二维矩阵,double(a(:,:,1))把此矩阵变为双精度
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询