1

使用 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 参数定义目标图像尺寸的结果。

欢迎任何帮助。

谢谢,克里斯蒂安

4

2 回答 2

1

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

于 2014-03-14T20:20:03.637 回答
0

事实证明,主干( 2.4.9 )不起作用。当我尝试 2.4 分支时,代码有效。

于 2012-09-03T22:05:55.007 回答