- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在使用 openCV 研究不同参数对 Harris 角检测器错误率的影响。输入参数是窗口大小、sobel 运算符的内核大小和 k 参数的值。我发现当我增加窗口大小时,每个角的响应数量似乎有所增加。例如,如果每个包含角的窗口都用一个点标记,那么当我使用 7x7 窗口而不是 2x2 窗口时,在已识别的角周围似乎有更高密度的点。更改窗口大小似乎也会增加正确识别的角的数量。
我的编码如下,是从this得到的例子
import cv2
import numpy as np
filename = 'resized_image.jpg'
img = cv2.imread(filename)
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
gray = np.float32(gray)
dst = cv2.cornerHarris(gray,7,3,0.015)
#result is dilated for marking the corners, not important
dst = cv2.dilate(dst,None)
# Threshold for an optimal value, it may vary depending on the image.
img[dst>0.05*dst.max()]=[0,0,255]
cv2.imwrite('corners3.jpg', img )
cv2.imshow('dst',img)
if cv2.waitKey(0) & 0xff == 27:
cv2.destroyAllWindows()
谁能解释一下增加窗口大小对哈里斯角检测器结果的影响。特别是为什么每个角落的响应数量似乎随着窗口大小的增加而增加。据我了解,如果这对结果有任何影响,此函数会计算窗口梯度并使用 sobel 运算符执行一些平滑。对不起,如果这是一个明显的问题,但我只是计算机视觉的新手。
最佳答案
“每个角的响应数”是什么意思?在“真实”角位置附近的检测器响应中看到多个峰值簇是正常的。发生这种情况是因为响应函数对于自然图像来说一点也不平滑——毕竟它计算的是导数的乘积,这会放大原始图像中的任何“随机”振荡。所有 Harris 过滤器所做的就是增强这种不平滑函数的“尖峰”区域,但尖峰可以彼此靠近,即使您对图像的直觉告诉您它们不应该如此。
解决这个问题的一个明显技术是计算“平滑导数”(即 Gx * I,而不是 Ix,其中 G 是一个小的高斯核等),但这有一些“弱”的副作用角落可能会变得平滑。
无论是否使用平滑导数,一种用于解决此问题并获得预期数量 N 个“干净”角的简单算法是从响应中选择 k * N 最强峰,按检测器响应强度递减排序(例如,k 在 5 到 10 的范围内),然后:
如果 H(x,y) > 0,则
将其添加到输出的干净角列表中;
将 (x, y) 的 m x m 小邻域中的所有 H 值设置为 0。
“簇”抑制邻域的宽度 m 应该表达您关于“真实”角彼此之间应该相距多远的先验信息。这种方法显然假设簇的“最佳”角是哈里斯滤波器响应最强的角。
顺便说一句,如果您喜欢名字(或用谷歌搜索它们),这通常称为“非局部最大值抑制”。
顺便说一句 - 2:参见 this answer有关查找 H 响应的所有局部最大值的详细信息,然后按响应值等进行排序。
关于opencv - window size对openCV中harris corner detector的结果有什么影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29484472/
我目前正在将 JQuery Mobile 1.4.0 用于 PhoneGap 应用程序,但我遇到了 Angular 不能正确形成的问题(它们是平的而不是 flex 的)。当我使用 JQuery Mob
我需要制作具有最小宽度和最小高度但会扩展到浏览器大小的 80% 的 CSS 布局。 主 div 将有圆 Angular (使用图像,因为不支持 CSS3)- 但是,在顶部和底部以及左侧和右侧的 Ang
这是数学高手的数学/几何问题(不是我最擅长的科目)。这是针对 WPF 的,但应该足够通用以解决问题: 我有两个嵌入的 Border 元素,外部元素具有特定的角半径 R 和边框厚度 T。给定这两个值,内
可以像这样使用顶部、左侧、宽度、高度来创建矩形 var rect = new fabric.Rect({ left: 50, top: 50, width: 50, heigh
我正在尝试使用 Jquery.corner() 来圆化我的 div 的角。 但是在 IE 中,角背景是父级的 div 颜色(主体颜色:#C70036;)。我正在使用背景图像,因此您可以在黄色框中看到
在我的 android 应用程序中,我只需要在四个角上添加边框,如图(白色)所示。 cornerbg.xml
我无法理解在角落检测中源代码中corner.ravel()的使用。 这是相应的源代码: import numpy as np import cv2 from matplotlib import pyp
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 已关闭 7 年前。 Improve
我正在研究缩放功能。此缩放是一个具有 100% 窗口大小的固定框和一个具有固定框宽度 200% 的图像内部。 这个缩放需要像这样工作: 当光标位于窗口中心时,图像应位于中心。 当光标在右上角时,图像应
我需要创建一个具有立方体拓扑结构的通信器,然后使用 MPI_Cart_Shift 在处于边缘的进程之间实现消息传递来选择立方体的面。例如,我处理的等级为 0(R0),我的邻域是 R2、R4、R6(立方
希望我的问题足够简单 :) 我将 BORDER 作为主容器,带有一些圆角半径。它里面有一个网格,如果我想为网格设置一些背景颜色 - 角落外面有一个丑陋的填充部分变成...... 那么,我怎样才能将我的
给定四边形所有角的坐标,如何找到其中心的坐标? 谢谢。 最佳答案 我想你正在谈论质心或质量中心。在四边形中,有两种获取坐标的常用方法: 两条双中线的交点(双中线是连接两个相对边的中心点的线)。 连接四
如下图,如何自定义jQuery UI单选按钮集的 Angular ?除了在按钮的右侧有圆 Angular ,我如何自定义它并使其在底部有圆 Angular ? 感谢您的帮助! 最佳答案 在 jQuer
我正在尝试完成一些看起来很简单的事情...... 我有 3 个 div,其中包含一个单选按钮和一些内容: Content of DIV1, [] this can be as long
我正在使用 OpenCV 3.1 和 Visual Studio C++。 目标 我想检测角点,而不是曲线、矩形或圆形。这意味着,我想找到模糊字符的位置。这里是我感兴趣的领域: 红色区域具有更高的优先
我正在使用 openCV 研究不同参数对 Harris 角检测器错误率的影响。输入参数是窗口大小、sobel 运算符的内核大小和 k 参数的值。我发现当我增加窗口大小时,每个角的响应数量似乎有所增加。
我希望能够在曲折的道路上进行 GPX 跟踪,并让算法计算拐角的数量。我想必须比较后续轨道的“方位”。不过,我是新手,想知道是否有简单的解决方案。 最佳答案 如果您获取坐标并能够确定方位角何时发生变化,
我在玩转角,我对这种行为很感兴趣。 XML 布局: 这是 my_outline.xml:(注意 corners 标签) 图片: 将形状更改为: 而且您可以清楚地看到底角是倒置的(所有
我有这些用于 collectionViewCell 的方法 cell.restarauntImage.roundCorners([.TopLeft, .TopRight], radius: 10, b
我是一名优秀的程序员,十分优秀!