typedef openCV的Size()

时间:2015-07-01 10:52:45

标签: c++ opencv

这可能是一个非常基本的问题,但我对此很困惑。

我可以使用以下代码行初始化大小(3266 x 2450)的图像:

Mat image(   Size(3266, 2450) , CV_8UC3   );

但我需要对几种不同类型的图片进行一些测试,所以,我想做一个typedef

我需要一个typedef语句,它可以提供不同的大小...类似于以下内容,但即使在搜索之后,我也找不到正确的语法。

typedef cv::Size(2048, 1536) 3MP
typedef cv::Size(2464, 1632) 4MP
typedef cv::Size(3266, 2450) 8MP

重要提示:如果typedef不是解决方案。请为可能的解决方案提出建议,以便对不同的图像使用类似的内容:

Mat image(   8MP , CV_8UC3   );

1 个答案:

答案 0 :(得分:5)

您不能在此使用typedef,因为Size本身就是一种类型,而Size(x, y)会创建一个值,而不是一种类型。改为使用常量:

const cv::Size SIZE_3MP(2048, 1536);
const cv::Size SIZE_4MP(2464, 1632);
const cv::Size SIZE_8MP(3266, 2450);