我很沮喪地嘗試找到一種方法,可以讓我將一個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