- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有很多类似以下的图像(只有白色和黑色):
我的最后一个问题是找到匹配良好的椭圆。不幸的是,真正使用过的图像并不总是那么好。它们可能会变形一些,这使得椭圆匹配可能更困难。
我的想法是找到“断点”。我在下图中标记了它们:
也许这些要点可能有助于使椭圆匹配。最终结果应该是这样的:
有人知道可以使用什么算法找到这些断点吗?甚至更好地进行良好的椭圆匹配?
非常感谢你
最佳答案
pnt[]
并将其作为圆形数组进行处理。 float a0=atan2(pnt[i].y-pnt[i-1].y,pnt[i].x-pnt[i-1].x);
float a1=atan2(pnt[i+1].y-pnt[i].y,pnt[i+1].x-pnt[i].x);
float da=fabs(a0-a1); if (da>M_PI) da=2.0*M_PI-da;
if (da>treshold) pnt[i] is break point;
float a1=atan2(pnt[i-1].y-pnt[i-2].y,pnt[i-1].x-pnt[i-2].x);
float a1=atan2(pnt[i ].y-pnt[i-1].y,pnt[i ].x-pnt[i-1].x);
float a2=atan2(pnt[i+1].y-pnt[i ].y,pnt[i+1].x-pnt[i ].x);
float da0=a1-a0; if (da0>M_PI) da0=2.0*M_PI-da0; if (da0<-M_PI) da0=2.0*M_PI+da0;
float da1=a2-a1; if (da1>M_PI) da1=2.0*M_PI-da1; if (da1<-M_PI) da1=2.0*M_PI+da1;
if (da0*da1<0.0) pnt[i] is break point;
pnt[]
的边界框,以获取半轴和中心位置区域搜索的限制。然后将pnt[]
划分为断点之间的部分。将每个零件作为椭圆和合适的单独零件来处理。pnt[]
部分之后,检查某些椭圆是否不相同,例如,如果它们与另一个椭圆重叠,则将它们分开...因此合并相同的椭圆(或取平均值以提高精度)。然后将所有pnt[i]
点重新着色为白色,清除pnt[]
列表并循环#2 ,直到找不到更多黑色像素为止。 x0,y0,rx,ry,angle
)。 pnt[]
列表中的整个椭圆,则可以使用它来检测它。关于image - 算法: Ellipse matching,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36042396/
我正在使用 TextView 在两行中编写文本描述。我正在使用 android:gravity="center"将两条线居中对齐,也使用了android:maxLines="2" & android:
我试图在椭圆路径中移动多个 Sprite (图像),使距离(弧距)保持一致。 我试过了 按角度移动每个 sprite 角度,但是这样做的问题是,围绕长轴移动单位角度时移动的距离与围绕短轴移动单位角度时
我正在尝试弄清楚如何判断鼠标是否位于 HTML5 Canvas 上的椭圆上。我需要比边界框检查更精确。 抱歉,这是一个模糊的问题。我完全被难住了。 任何帮助将不胜感激。 到目前为止我有这个: // T
我是 svg 的新手。我想做的是用 JS 创建一个椭圆元素并将其附加到 SVG 标签。 HTML代码是 下面是JS代码 var el=document.create
我正在使用 OpenCV 并检测用户的 body 。但我收到错误: No matching function for call to 'ellipse' 该函数存在于我的框架中,但它仍然显示错误: /
我正在构建一个新的 InfoWindow (google maps api v2),我正在努力让我的布局变得完美。该布局的一部分是这样的: 现在,问题出在 android:ellipsize
我试图在具有多行文本的 TextView 末尾获取省略号。 “...”正在显示,但它位于文本的最后一个空格,其他字符后跟其他字符。如何确保“...”始终位于末尾。 参见示例图片 XML 布局文件是:
在我的三星 Galaxy Nexus 上,行为正常,它显示三个点,但在三星 S2 中,它只显示一个点。只有一个布局文件: 这是例子: http://img109.imageshack.us/img1
android:ellipsize="end" 不工作,当我使用 android:ellipsize="marquee" 时,应用程序崩溃。 这是我的代码: 最佳答案 只需在xml文件中使用即可 a
这个问题已经有答案了: Android TextView with multiline and "android:ellipsize = middle" (5 个回答) 已关闭 6 年前。 我有一个A
我正在开发 Squares 游戏的一个版本。为此,我需要检测我的椭圆何时被单击。但问题是我的方法正在使用一个 Ellipse 对象。如何检测哪个椭圆被单击?这是我的代码。 主广场类 public st
我正在使用一个简单的微调器: final SimpleCursorAdapter statusAdapter = new SimpleCursorAdapter(this, android.R
这个问题在这里已经有了答案: Setting Ellipsize on TextView reduces lines shown by one (instead of only ellipsizin
我正在处理包含在 ConstraintLayout 中的 TextView。 如果文本的长度超过 maxLength,我希望 ellipsize 在文本末尾(在 TextView 中)添加三个点。 m
我一直在尝试将此 CSS 应用于某些部分,但尽管阅读了样式,并记得将 overflow:hidden 与 text-overflow 一起包含在内,但我无法让它工作。下面是一些没有文本溢出样式的代码。
MFC:我读到这段代码是绘制一个椭圆(内部不是实体),但我不明白为什么这里需要两次函数“pDC->Ellipse(...)”?(sol == 0, and do_what==DRAW_ELLIPSE)
如何获取在多行 TextView 中未被截断的字符串部分。例如,如果我有“这是一些如您所见相当长的文本”,而 TextView 会显示“这是一些文本……”,那么我想将第二个字符串放入某个变量中。最简单
在我的一个项目中(VC++2010,MFC),我想用CDC::Ellipse画一个圆。我设置了两个点:第一个是圆心,第二个是我希望它在圆周上的一个点。 我将左上角和右下角的坐标传递给 CDC::Ell
我有很多类似以下的图像(只有白色和黑色): 我的最后一个问题是找到匹配良好的椭圆。不幸的是,真正使用过的图像并不总是那么好。它们可能会变形一些,这使得椭圆匹配可能更困难。 我的想法是找到“断点”。我在
我已经设置了一个 TextView 如下: 内部文本由布局充气器以编程方式设置,文本来自 XML 提要。我检查了源代码,没有杂散字符或换行符。 在运行 Android 4.3 的 Nexus 4 上
我是一名优秀的程序员,十分优秀!