我试图检测图像中的完整圆圈和半圆.
我遵循下面提到的过程:过程图像(包括Canny边缘检测)查找轮廓并在空图像上绘制它们,以便我可以消除不需要的组件.(处理后的图像正是我想要的.)使用HoughCircles检测圆圈.这就是我得到的.
我尝试改变HoughCircles中的参数,但结果不一致,因为它根据光线和图像中圆圈的位置而变化.我根据它的大小接受或拒绝一个圆圈.所以结果是不可接受的.此外,我还有一长串"可接受的"圈子,所以我需要在HoughCircle参数中留出一些余量.至于完整的圆圈,很容易 - 我可以简单地找到轮廓的"圆度".问题是半圈!
请在hough变换前找到编辑过的图像
我想从移动相机的2张图像中计算深度信息.使用Sensor.TYPE_ROTATION_VECTOR
我有两个图像的四元数以及从Img1到Img2的相对四元数.
IMG1
q1 = 0.7545 - 0.1137i - 0.2715j - 0.5865k
Run Code Online (Sandbox Code Playgroud)
IMG2
q2 = 0.7706 - 0.2252i - 0.3511j - 0.4817k
Run Code Online (Sandbox Code Playgroud)
相对季铵盐是:
qr = -0.9850 + 0.0072i + 0.1329j - 0.1097k
Run Code Online (Sandbox Code Playgroud)
也就是说,相对旋转矩阵是,
|0.9406 -0.2142 -0.2635 |
|0.2180 0.9758 -0.0150 |
|0.2604 -0.0433 0.9645 |
Run Code Online (Sandbox Code Playgroud)
这是矩阵getPerspectiveTransform
给出的吗?
当我使用这个3x3旋转矩阵时warpPerspective
,除了左上角的东西外,我得到一张几乎空白的图像.(可能图像旋转的轴是错误的).
我究竟做错了什么?
注意:2张图片之间也有一个小的翻译(抱歉图片不好)
编辑1:根据这个链接,对于我的第二代Moto G,我得到了一个内在的相机矩阵,
K = |-3570 0 1632 |
| 0 3554.39 1218.65|
| 0 0 1 |
Run Code Online (Sandbox Code Playgroud)