多语言展示
当前在线:399今日阅读:60今日分享:41

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

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
推荐信息