mia implementazione permette il passaggio di essere in qualsiasi direzione ...
using namespace cv;
//and whatever header 'abs' requires...
Mat offsetImageWithPadding(Const Mat& originalImage, int offsetX, int offsetY, Scalar backgroundColour){
padded = Mat(originalImage.rows + 2 * abs(offsetY), originalImage.cols + 2 * abs(offsetX), CV_8UC3, backgroundColour);
originalImage.copyTo(padded(Rect(abs(offsetX), abs(offsetY), originalImage.cols, originalImage.rows)));
return Mat(padded,Rect(abs(offsetX) + offsetX, abs(offsetY) + offsetY, originalImage.cols, originalImage.rows));
}
//example use with black borders along the right hand side and top:
Mat offsetImage = offsetImageWithPadding(originalImage, -10, 6, Scalar(0,0,0));
E 'tratto dal mio codice di lavoro ma alcune variabili sono cambiate, se non viene compilato, molto probabilmente solo una piccola cosa deve cambiare, ma si ottiene l'idea. la funzione abs ...
fonte
2015-07-30 08:33:20
puoi mostrare qualche codice di ciò che hai provato fino ad ora? –
Se è possibile incorporare le immagini in immagini più grandi dall'inizio (e se è possibile limitare lo spostamento della dimensione massima del bordo) è possibile utilizzare le immagini secondarie anziché spostare nulla. – Micka