MATLAB中相同图像的大小可以以不同的方式显示吗?
问题描述:
我用MATLAB命令 a =('图像地址') 然后我创建了另一个变量c c = imread('图像的地址') 现在我使用了相同的图像在这两种情况下。当我使用尺寸命令时,它显示两个不同的尺寸。 大小(a)如何可能给出与大小(c)不同的大小。 尽管我在两种情况下都使用了相同的图像,但对于变量a和c。MATLAB中相同图像的大小可以以不同的方式显示吗?
答
我假设你完全是你在你的问题中写的。您的代码将是如下:
a = ('onion.png');
c = imread('onion.png');
这意味着变量a
是由一些字符和可变c
表示的字符串由UINT8阵列表示的图像。 在它们上应用size
-函数会给出不同的结果,因为它根本不是同一个对象。这可以使用class
功能进行验证。
sizeOfA = size(a) >> [1 9]
sizeOfC = size(c) >> [135 198 3]
classOfA = class(a) >> char
classOfC = class(c) >> uint8
编辑:你现在可以做的是把字符串a
加载相同的图像。因为只是通过为变量分配文件名,图像不会自动读取。为了证明这产生完全相同的结果,我们可以这样做:
d = imread(a);
isequal(c,d)
它返回1
这意味着数组相等。当然,他们具有相同的size
和class
由可变c
表示的图像:
sizeOfD = size(d) >> [135 198 3]
classOfD = class(d) >> uint8
哈哈哈我完全错过了'了'是文件名的字符串。我以为'imread'也在那里做。 +1。 – rayryeng
对我来说,这是尺寸可能不同的唯一可能性。但是我花了一段时间才看到'imread'还没有在那里执行;-) – Matt