1

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

示例图片:1) https://docs.google.com/file/d/0ByS6Z5WRz-h2cE1wTGJwRnE5YUU/edit 2) https://docs.google.com/file/d/0ByS6Z5WRz-h2UTFCaVEzaHlXRVk/edit 3) https:// /docs.google.com/file/d/0ByS6Z5WRz-h2NDgySmJ6NnpId0U/edit

4

1 回答 1

1

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

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,但第一页上的这些积分在这里转化为你的双循环。

于 2013-01-25T13:03:45.937 回答