【发布时间】:2019-04-01 15:02:03
【问题描述】:
我在 Android 中使用 Opencv 计算检测到的对象的 rotation angle,然后我将该对象旋转回其正常位置,以进行进一步的图像特征,如分割和对象匹配。
这就是我目前所得到的
double rect_angle = rbox.angle - 90.0f;
Size rect_size = rbox.size;
double d = rect_size.width;
rect_size.width = rect_size.height;
rect_size.height = d;
M = Imgproc.getRotationMatrix2D(rbox.center, rect_angle, 1.0);
Imgproc.warpAffine(origMat, rotated, M, origMat.size());
如果我在这里稍微旋转我的对象就是结果
如果我不旋转这里的对象就是我得到的
我需要让对象始终居中。
我的问题和这个问题类似Rotate an image without cropping in OpenCV in C++
但我无法在 java 中实现。
我希望你们能帮助我实现这一目标。
【问题讨论】:
-
究竟是什么阻止了您在 Java 中实现链接答案?更具体地说明您的问题。
-
您可以从链接的图像中注意到,当对象(coffret)旋转时,某些角不可见,因此我的算法不起作用。我在 java 中实现了链接的答案,但没有运气,问题仍然存在。
标签: android opencv image-processing image-rotation opencv4android