假设您有一张大图片,比如说大约 10000 像素 x 3000 像素,并且您希望以非常高效的方式将其在 x 轴上向左平移。所以不需要 AffineTransform 或类似的东西。如果可以的话,左边移出的部分应该追加到右边,这样一种转身就很酷了。
您手头有:Java 7、OpenCV。
你有什么建议吗?
最佳答案
Here您可以看到如何使用 C++ 中的 OpenCV 来完成此操作。您只需将其翻译为 Java:
// C++:
Mat outImg(inputImg.size(),inputImg.type());
inputImg(Rect(0, 0, shiftX, height)).copyTo(outImg(Rect(width-shiftX, 0, shiftX, height)));
变成这样:
Mat outImg = new Mat(inputImg.size(),inputImg.type());
inputImg.submat(new Rect(0, 0, shiftX, height)).copyTo(outImg.submat(new Rect(width-shiftX, 0, shiftX, height)));
尽管这一行代码可读性不是很好;)
关于java - 翻译图像而不是子图像复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22156887/