使用CV_INTER_AREA调整图像大小

时间:2012-09-02 21:11:41

标签: c++ opencv

使用CV_INTER_AREA调整图像大小时,我有一些奇怪的行为。我确定我做错了但我无法理解。那么,有人可以告诉我以下代码有什么问题:

Mat src = imread( File_Name );
Mat dst;
Size s( src.size().width / 10, src.size().height / 10 );
resize( src, dst, s, 0, 0, CV_INTER_AREA );

保存dst时,只会在Windows上产生灰色图像(未初始化的内存)。

这可以按预期工作:

Mat src = imread( File_Name );
Mat dst;
Size s( src.size().width / 10, src.size().height / 10 );
resize( src, dst, s );

由于我缩小了尺寸,我喜欢使用CV_INTER_AREA并使用dsize参数定义目标图像大小的结果。

欢迎任何帮助。

谢谢, 基督教

2 个答案:

答案 0 :(得分:1)

实际上,您可以尝试使用cv :: INTER_AREA而不是在版本2.4.9中使用CV_INTER_AREA。

答案 1 :(得分:0)

事实证明主干(2.4.9)无效。当我尝试使用2.4分支时,代码可以工作。