问题标签 [shape-context]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
matlab - 在 MATLAB 中绘制形状上下文对数极坐标箱
我使用形状上下文直方图作为特征描述符来编码剪影图像。为了帮助调试,我想查看覆盖在轮廓图像上的形状上下文 logpolar 箱(从边缘图像中获取的样本点)。
其中一个点的外观示例如下:
我知道如何显示圆圈(径向箱),但我在制作角度箱(线)时遇到了困难。
给定一组角度,我如何绘制类似于示例图像中显示的线段?
c++ - 形状上下文中的边缘点采样
我最近准备使用shape context
和SVM
做字符识别。中的直方图shape context
被认为是字符的特征向量。然而,在边缘检测之后,如何对两个可能完全不同点的字符边缘的边缘点进行采样呢?随机抽样似乎不好。
python - 从 OpenData 匹配道路标记的形状
现在我致力于从 OpenData 生成道路标记。因为我是编程新手,所以我使用 Python。我处理正射影像并将它们转换为二值照片(仅黑白像素)。之后我得到这样的照片:
下一步是识别给定示例图片上的各种道路标记。我认为这应该可以通过“形状上下文匹配”来实现。
所以我写了这段代码(a
是原始的转向箭头,
b
是从示例图片中提取的转向箭头)来比较这里的各种转向箭头和原始转向箭头:
但是当我想执行我的代码时,它会说:
cv2.error: /Users/travis/build/skvark/opencv-python/opencv/modules/shape/src/haus_dis.cpp:139: 错误: (-215) (set1.channels()==2) && (set1 .cols>0) 在函数 computeDistance
“a”的分辨率是:32 x 131 px ,“b”的分辨率是:18 x 29 px ,这是否还有问题?
谢谢你的努力 :)
编辑:
我将代码更改为以下内容:
a和b比较的结果是:d1 = 28.4604988098, d2 = 0.320339113474
但是当我将a与例如c ( ) 进行比较时,程序会因以下错误而停止:
cv2.error: /Users/travis/build/skvark/opencv-python/opencv/modules/core/src/matmul.cpp:1218: 错误: (-215) type == CV_64FC2 in function gemmImpl
python - 通过计算两个不同形状的距离来计算形状上下文误差
简而言之,我想通过“形状上下文”匹配来比较不同的道路标记。
您可以在下面看到我的第一个问题:从 OpenData 匹配道路标记的形状
我解决了我的第一个问题,但现在出现了一个新错误。这是我的代码:
当我将a(原始转弯箭头)
与b(提取的转弯箭头)进行比较时
,没有问题,但是当我将a与c(测试“形状匹配”算法的其他任何东西)进行比较时,
出现以下错误:
OpenCV 错误:gemmImpl 中的断言失败(类型 == CV_64FC2),文件 /Users/travis/build/skvark/opencv-python/opencv/modules/core/src/matmul.cpp,第 1218 行
回溯(最后一次调用):文件“/test_shape.py”,第 74 行,在 d2 = sd.computeDistance(ca[0],cb[0])
cv2.error: /Users/travis/build/skvark/opencv-python/opencv/modules/core/src/matmul.cpp:1218: 错误: (-215) type == CV_64FC2 in function gemmImpl
该错误仅发生在“形状上下文”的生成距离函数而不是“Hausdorff”的生成距离函数中
python - cv2.createShapeContextDistanceExtractor 总是返回 0.0
我想使用 cv2 的 Hausdorff 距离或形状上下文距离测量来计算两个形状之间的距离。这些形状是黑色背景上的简单白色形状。
为了找到两个形状之间的距离,我找到每个形状的轮廓,然后将轮廓传递给以下函数:ShapeDistanceExtractor::computeDistance(contours1, countours2) 和 HausdorffDistanceExtractor::computeDistance(contours1, countours2)。
您能否解释一下,为什么在比较期间 ShapeDistanceExtractor 总是返回 0.0,而第二种方法会根据图像上字符的位置给出不同的结果?