2013-03-27 42 views

回答

8

如果通过调整你的意思是缩放图像使用resize()功能如下:

resize(src, dst, dst.size(), 0, 0, interpolation); 

否则,如果你只需要改变你的褥子行数使用Mat::reshape()功能。要注意的是,重塑返回一个新的垫头:

cv::Mat dst = src.reshape (0, newRowVal); 

最后,如果你想任意重塑垫(改变行列数),你可能需要定义与目标维度的新垫和复制SRC垫它:

Mat dst(newRowVal, newColVal, src.type()); 
src.setTo(0); 
src.copyTo(dst(Rect(Point(0, 0), src.size()))); 
9

可以使用resize()功能

创建新尺寸的新垫结果

resize(input    // input image 
     result   // result image 
     result.size()  // new dimensions 
     0, 
     0, 
     INTER_CUBIC  // interpolation method 
    ); 

要了解更多插值方法,可以查看这个文档:geometric_transformations.html#resize