MATLAB vs C ++ vs OpenCV - imresize

Ich habe den folgenden MATLAB-Code, den ich in C ++ transportieren möchte

AnnehmenGr ist 2d Matrix und1/newscale == 0.5

Gr = imresize(Gr, 1 / newScale);

imdie MATLAB-Dokumentation:

B = imresize (A, scale) gibt Bild B zurück, das skaliert mal der Größe von A entspricht. Das Eingabebild A kann ein Graustufen-, RGB- oder Binärbild sein. Wenn der Maßstab zwischen 0 und 1,0 liegt, ist B kleiner als A. Wenn der Maßstab größer als 1,0 ist, ist B größer als A.

So bedeutet dies, dass ich eine 2D-Matrix == matrix_width / 2 und matrix_height / 2 bekomme
Wie berechne ich die Werte? Die Standardeinstellungen laut Dokumentation stammen aus der kubischen Interpolation für das nächste 4X4.

Ich kann keinen Beispielcode für C ++ finden, der dasselbe tut. Können Sie bitte einen Link zu einem solchen Code bereitstellen?

Ich fand auchdiese OpenCV-Funktion,resize.

Gleicht es dem MATLAB?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage