图像处理 - 它如何计算 openCV 中的形状伸长率



我有很多灰度图像,因为我必须提取特征进行比较。如何在opencv(更适合python版本)中计算形状伸长率(基本形状描述符:http://www.site.uottawa.ca/~mstoj075/Publications_files/elongation-JMIV.pdf)以进行特征提取?

示例图像:1) https://docs.google.com/file/d/0ByS6Z5WRz-h2cE1wTGJwRnE5YUU/edit2) https://docs.google.com/file/d/0ByS6Z5WRz-h2UTFCaVEzaHlXRVk/edit3) https://docs.google.com/file/d/0ByS6Z5WRz-h2NDgySmJ6NnpId0U/edit

描述符(形状时刻)是通过迭代特定形状创建的,可能会也可能不使用像素值。你拥有的一般形式是这样的

cvFindContours()
Accumulator = 0;
for (each pointx in the contour bounding box)
for (each pointy in the contour bounding box)
{
   if (cvPointPolygonTest((pointx,pointy),mycontour)) //ie the point is not only in the bounding box, but in the actual contour
       Accumulator = Accumulator + MyDescriptor(point,ImageValueAt(point));
}

累加器将包含形状描述符值。我懒得阅读您的pdf,但是第一页上的这些积分在这里转换为您的双循环。

相关内容

  • 没有找到相关文章

最新更新