0

我目前正在开发一个计算机视觉程序,该程序需要我确定图像中颜色斑点的“方向”。颜色斑点通常遵循椭圆形状,因此可用于随时间跟踪方向(相对于最初定义/确定的方向)。

我认为计算方向变化的方法描述如下:

  1. 将可能的方向(360 度)量化为 N 个方向(可能为 8 个,以 45 度角为增量)。
  2. 给定一个表示颜色 blob 的初始状态 (t0) 的存储矩阵,还获取一个表示 blob 当前状态 (tn) 的矩阵。
  3. 遍历这 N 个方向并搜索该给定方向的颜色值的最长延伸。(例如,如果椭圆旋转 45 度,0 为垂直,则最长的长度应归因于 45 度标记/或 225 度)。

这个概念本身并不复杂,但我遇到了以下问题:

  • 计算图像中任意角度的值的最长拉伸。这对于 0、45、90 等角度很简单,但对于中间角度则更困难。“量化”角度对我来说并不像听起来那么容易。

请不要担心区分角度(例如 0 和 90)的潜在问题。惯性可用于确定颜色斑点的最可能方向(换句话说,基于过去的方向状态)。

我主要关心的是确定矩阵中的“最长延伸”。

谢谢您的帮助!

4

1 回答 1

1

您可以按照此处的建议使用图像矩:Matlab - Image Momentum Calculation

在 matlab 中,您将使用regionprops属性“方向”,但上一个答案中的 wiki 文章应该为您提供以您选择的语言对其进行编码所需的所有信息。

于 2012-07-12T15:41:08.667 回答