我很沮丧地尝试找到一种方法,可以让我将一个Mat对象缩放到不同的大小。请有人帮我解决这个问题吗?如何在OpenCV中缩放垫子
我的项目使用Java包装,但如果答案是C++原生OpenCV库,我会很高兴。
我很沮丧地尝试找到一种方法,可以让我将一个Mat对象缩放到不同的大小。请有人帮我解决这个问题吗?如何在OpenCV中缩放垫子
我的项目使用Java包装,但如果答案是C++原生OpenCV库,我会很高兴。
如果通过调整你的意思是缩放图像使用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())));
可以使用resize()
功能
创建新尺寸的新垫结果
resize(input // input image
result // result image
result.size() // new dimensions
0,
0,
INTER_CUBIC // interpolation method
);
要了解更多插值方法,可以查看这个文档:geometric_transformations.html#resize