【问题标题】:matlab function "m = size(X,dim)" equivalent in opencv在opencv中等效的matlab函数“m = size(X,dim)”
【发布时间】:2015-02-04 13:44:10
【问题描述】:

我是 Matlab 的新手,谁能帮我找到 matlab 方法“m = size(X,dim)”的等效 opencv 方法。如果我知道它的作用会更好吗?在线文档对我的小知识没有帮助。谢谢

更新:

Dim "m = size(X,dim)" 的作用是什么以及它是如何工作的。对于 200 * 200 的图像(x)大小,如果我通过 dim=1,我在 matlab 中得到 m=1,如果我通过 dim =2,那么我得到 40。你能解释一下吗?

代码:

image = 'D:\Proposals\others\test_some_title1.jpg'
top=size(image,2)

【问题讨论】:

  • 我可以知道为什么我的问题被否决了吗?我浏览了互联网上可用的东西,但无法理解。作为一种简单的单行方法,我不确定如何以更好的方式提出这个问题。在堆栈溢出中提出问题并不表明我没有付出努力。

标签: matlab opencv image-processing computer-vision


【解决方案1】:

关于你的代码:

image = 'D:\Proposals\others\test_some_title1.jpg'
top=size(image,2)

image 这里不是图片。它是一个包含文件名的字符串(恰好是一个图像,但size 函数不知道这一点)。该字符串确实有 40 个字符长,因此是结果。要实际读取图像,请使用imread。

另外,image 本身就是 MATLAB 中的一个函数。如果您创建一个名为 image 的变量,它将阻止您正确使用该函数(这是许多 MATLAB 错误的根源)。

【讨论】:

    【解决方案2】:

    您的标题几乎回答了如何访问维度。您使用size 命令。我什至不确定为什么会问这个问题。 http://www.mathworks.com/help/matlab/ref/size.html。使用 Google 搜索,这是出现的第一个链接。

    参考您的代码

    您没有正确读取图像。您正在检查包含文件名的 字符串 的大小。您没有阅读图像本身。首先通过以下方式致电imread:

    im = imread('D:\Proposals\others\test_some_title1.jpg');
    

    现在做:

    top = size(im, 2);
    

    你得到1 x 40 大小的原因是因为你的文件名字符串有 40 个字符长。

    另外,参考@nkjt 所说的,您不应该使用名为image 的变量来掩盖image 命令。 image 用于获取矩阵并将其作为图像显示在屏幕上。请记住,这与imshow 不同。建议您将变量名称更改为 im 之类的名称,就像我所做的那样。

    【讨论】:

    • 感谢您的回复。 Dim "m = size(X,dim)" 的作用是什么以及它是如何工作的。对于 200 * 200 的图像(x)大小,如果我通过 dim=1,我在 matlab 中得到 m=1,如果我通过 dim =2,那么我得到 40。你能解释一下
    • 这可能意味着您将错误的变量传递给 size :) 我们可以看看一些代码吗?
    • 你说得对,我已经看过这个链接,但问题是,我无法以我的知识理解它。这就是我发布这个问题的原因。
    • 编辑您的帖子,以便我们可以看到一些代码。我怀疑您没有将正确的变量传递给size。
    【解决方案3】:

    我明白你的意思。因为这个函数“m = size(X,dim)”会找到矩阵 X 的每个维度的大小,所以当你输入 dim = 1 时,你得到答案 1,当你输入 dim = 2 时,你得到答案 40。

    您的输入消息“D:\Proposals\others\test_some_title1.jpg”被读取为矩阵。它有 1 行 40 列。所以 X 的尺寸将为 1x40。

    为了回答您的问题,我的理解是矩阵 X 现在的维度为 1x40。一行 40 列。如果您想知道第一个维度的大小,请键入 m = size(X,1)。你会得到 m = 1。对于第二维是 40,你输入 m= size(X,2),你会得到 40。因为这个矩阵 X 只有二维,如果你输入一个大于 2 的数字,matlab将返回默认值 1。你不在乎!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-30
      • 2013-08-01
      • 2013-04-14
      相关资源
      最近更新 更多