要素を含む、Mat
ピクセルごとの再マッピングに使用するOpenCvがあります。remap
CV_32FC2
これらの要素の一部は、リマップで許可されている範囲外にある可能性があります。だから私はそれらをとの間でクランプする必要がPoint2f(0, 0)
ありPoint2f(w, h)
ます。OpenCv 2.xでこれを達成するための最短または最も効率的な方法は何ですか?
これが1つの解決策です:
void clamp(Mat& mat, Point2f lowerBound, Point2f upperBound) {
vector<Mat> matc;
split(mat, matc);
min(max(matc[0], lowerBound.x), upperBound.x, matc[0]);
min(max(matc[1], lowerBound.y), upperBound.y, matc[1]);
merge(matc, mat);
}
しかし、それが最短かどうか、または分割/マージが効率的かどうかはわかりません。