java - 翻译图像而不是子图像复制

标签 java opencv image-processing

假设您有一张大图片,比如说大约 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/

相关文章:

java - 定时器:周期小于一毫秒

java - Spring @Autowired 带有 2 个相同类型的 bean

python - 使用非常小的数据集进行图像分割

python - 使用OpenCV检测图像中的盒子

python - numpy图像中灰度值的直方图

java - 使用 Elastic Search 5.5.0 时如何正确关闭 Raw RestClient 以获得最佳性能?

java - 相同的代码和相同的数据,但输出不同的内容?

c、opencv——通过ip访问相机JPG图像

python - OpenCV-使用多个IP摄像机进行运动捕捉

python-3.x - 无法使用经过训练的 Tensorflow 模型