如何使用代表点对复杂形状进行建模?

2023-12-21

我想将该图像中的白色像素数量减少到输出图像中的一些候选点或代表点(目标是对不同类型的形状进行建模)

如果您只是将输出图像中的灰点连接在一起,您将拥有相同的路径,但白色像素较少。这条路径应该只有一个起点和一个终点,并且涵盖从起点到终点的所有路径。

我可以使用 CCA(连通分量分析)和一些 if then else 规则来解决它!但似乎很慢。

我需要这个算法来减少描述形状所需的像素数量。

这里最快、最准确的算法是什么?

我也欢迎那些可以通过增加候选点来提高形状建模准确性的方法。


  • 骨架化形状以获得单像素宽的路径(参见https://en.wikipedia.org/wiki/Topological_sculpture https://en.wikipedia.org/wiki/Topological_skeleton)

  • 将路径表示为像素链。

  • 沿着路径选择一定数量的像素,间隔规则。

  • 通过这些点生成基数样条(参见https://en.wikipedia.org/wiki/Cubic_Hermite_spline#Cardinal_spline https://en.wikipedia.org/wiki/Cubic_Hermite_spline#Cardinal_spline)。三次样条也是可能的。

  • 对于样条线的每个部分,估计图像中的路径与曲线之间的偏差。这可以通过沿曲线采样几个点并找到路径部分上最近的点(通过尝试所有像素)来完成。

  • 当偏差太大时,在该部分添加一个或多个像素。

  • 重新计算整个样条线并重复,直到不再需要插入点为止。

通过调整偏差阈值,您可以用曲线平滑度来换取匹配精度。

可以避免重新计算未发生点插入的曲线,但这需要小心。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用代表点对复杂形状进行建模? 的相关文章

  • OpenCV Visual Studio ntdll.dll

    我尝试在 Visual Studio 2013 上使用 OpenCV 2 4 10 创建一个项目 但由于以下异常 到目前为止我运气不佳 请建议帮助 TIA letstryitonemoretime exe Win32 Loaded C Us
  • OpenCV C++ 如何知道每行的轮廓数进行排序?

    我有一个二值图像 https i stack imgur com NRLVv jpg在这张图片中 我可以使用重载的函数轻松地对从上到下 从左到右找到的轮廓进行排序std sort 我首先通过以下方式从上到下排序 sort contours
  • ffmpeg AVFrame 到 opencv Mat 转换

    我目前正在开发一个使用 ffmpeg 解码接收到的帧的项目 解码后 我想将 AVFrame 转换为 opencv Mat 帧 以便我可以在 imShow 函数上播放它 我拥有的是字节流 我将其读入缓冲区 解码为 AVFrame f fope
  • minAreaRect OpenCV 返回的裁剪矩形 [Python]

    minAreaRectOpenCV 中返回一个旋转的矩形 如何裁剪矩形内图像的这部分 boxPoints返回旋转矩形的角点的坐标 以便可以通过循环框内的点来访问像素 但是在 Python 中是否有更快的裁剪方法 EDIT See code在
  • setImageCompressionQuality 与 setCompressionQuality 之间有什么区别 - Imagick

    我在Imagick中找到了两种设置图像压缩质量的方法 A 设置图像压缩质量 B 设置压缩质量 所以我想知道哪一个是最好的以及为什么在以下条件下 我读到了setCompressionQuality方法仅适用于新图像 我正在尝试压缩文件 jpe
  • 预测测试图像时出现错误 - 无法重塑大小数组

    我正在尝试使用 TensorFlow 和 Keras 在 Python 中进行图像识别 并且我已经关注了下面的博客 https stackabuse com image recognition in python with tensorfl
  • Python 或 C 语言中的 Matlab / Octave bwdist()

    有谁知道 Matlab Octave bwdist 函数的 Python 替代品 此函数返回给定矩阵的每个单元格到最近的非零单元格的欧几里得距离 我看到了一个 Octave C 实现 一个纯 Matlab 实现 我想知道是否有人必须用 AN
  • OpenCV IP 相机应用程序崩溃 [h264 @ 0xxxxx] 访问单元中缺少图片

    我在 cpp 中有一个 opencv 应用程序 它使用 opencv 的简单结构捕获视频流并将其保存到视频文件中 它与我的网络摄像头完美配合 但是 当我运行它从 IP 摄像机捕获流时 它可能会在大约十秒后崩溃 我的编译命令是 g O3 IP
  • 如何确定与视频中物体的距离?

    我有一个从行驶中的车辆前面录制的视频文件 我将使用 OpenCV 进行对象检测和识别 但我停留在一方面 如何确定距已识别物体的距离 我可以知道我当前的速度和现实世界的 GPS 位置 但仅此而已 我无法对我正在跟踪的对象做出任何假设 我计划用
  • 如何绘制更大的边界框和仅裁剪边界框文本 Python Opencv

    我正在使用 easyocr 来检测图像中的文本 该方法给出输出边界框 输入图像如下所示 Image 1 Image 2 使用下面的代码获得输出图像 But I want to draw a Single Bigger bounding bo
  • 如何计算 Postgres 上图表中所有连接的节点(行)?

    我的桌子有account id and device id One account id可以有多个device ids 反之亦然 我正在尝试计算每个连接的多对多关系的深度 Ex account id device id 1 10 1 11
  • 如何使用 colorchecker 在 opencv 中进行颜色校准?

    我有数码相机获取的色彩检查器图像 我如何使用它来使用 opencv 校准图像 按照以下颜色检查器图像操作 您是想问如何进行颜色校准或如何使用 OpenCV 进行校准 为了进行颜色校准 您可以使用校准板的最后一行 灰色调 以下是您应该逐步进行
  • cv2.drawContours() - 取消填充字符内的圆圈(Python,OpenCV)

    根据 Silencer的建议 我使用了他发布的代码here https stackoverflow com questions 48244328 copy shape to blank canvas opencv python 482465
  • 如何将 Mat (opencv) 转换为 INDArray (DL4J)?

    我希望任何人都可以帮助我解决这个任务 我正在处理一些图像分类并尝试将 OpenCv 3 2 0 和 DL4J 结合起来 我知道DL4J也包含Opencv 但我认为它没什么用 谁能帮我 如何转换成 INDArray 我尝试阅读一些问题here
  • 在 Visual Studio 2012 中安装 OpenCV

    我正在尝试安装 OpenCV 来与 Visual Studio 一起使用 我使用的是2012Pro版本 但我认为它应该与vs10相同 我正在关注这个教程 http docs opencv org doc tutorials introduc
  • 将 4 通道图像转换为 3 通道图像

    我正在使用 OpenCV 2 4 6 我正在尝试将 4 通道 RGB IplImage 转换为 4 通道 HSV 图像 下面是我的代码 给出错误 OpenCV 错误 未知函数断言失败 我认为 cvCvtColor 支持 3 通道图像 有没有
  • 使用 ruby​​ 调整动画 GIF 图像的大小?

    我正在尝试将 GIF 图像调整为不同的尺寸 我在 ruby 中使用 RMagick 库 但对于某些 gif 图像 即使我缩小 GIF 的大小 文件大小似乎也会增加 我正在以相同的纵横比调整图像图像的大小 这是我的代码 require rma
  • OpenCV VideoWriter 未写入 Output.avi

    我正在尝试编写一段简单的代码来获取视频 裁剪视频并写入输出文件 系统设置 OS Windows 10 Conda Environment Python Version 3 7 OpenCV Version 3 4 2 ffmpeg Vers
  • 如何在 cv2.VideoWriter 中使用 FPS 参数?

    好的 所以我正在制作视频 我想确切地知道如何使用 FPS 参数 它是一个浮点数 所以我假设这是我想要的每帧之间的间隔 你能给个例子吗 我只想知道视频会如何随着 FPS 参数值的变化而变化 因为我制作的视频现在太快了 谢谢 确实只是这样 fr
  • 如何在 Qt 应用程序中通过终端命令运行分离的应用程序?

    我想使用命令 cd opencv opencv 3 0 0 alpha samples cpp cpp example facedetect lena jpg 在 Qt 应用程序中按钮的 clicked 方法上运行 OpenCV 示例代码

随机推荐

  • 使用 .runsettings 从代码覆盖率中排除程序集

    当为包含多个项目的解决方案运行代码覆盖率时 我注意到代码覆盖率还包括我的测试程序集 我发现一篇文章建议使用以下 runsettings 模板
  • 是否可以发出从泛型类型派生的类型,同时将其自身指定为泛型类型参数?

    想象一下以下完全合法的类型层次结构 class A
  • with 语句在 Python 2.4 中产生“无效语法”错误

    我有一些用 Python 2 7 编写的代码 如下所示 if os path exists path to my file somefile txt with open path to my file somefile txt r as r
  • 在 React Native 中更改应用程序背景颜色

    我正在尝试将 React Native 应用程序中的背景颜色从灰色更改为白色 我在用着反应导航做一个TabNavigator在我渲染它之后 我试着把这个TabNavigator在视图和集合中backgroundColor但所有屏幕都变白了
  • GitHub 不断抛出“无法提交子模块”错误,我不明白这是为什么。有任何想法吗?

    我正在尝试将我的项目放在 GitHub 上 但我一直遇到问题 我在 GitHub 网站 上创建了一个存储库 下载了客户端 克隆 基本上拖放 GitHub 给我的链接 它 将我的项目移动到克隆目录中 但我仍然没有看到文件 所以我检查了 更改
  • Pickling 经过训练的 NLTK 模型

    所以我目前正在一组手术数据上训练隐马尔可夫模型 如下所示 nltkTrainer nltk tag hmm HiddenMarkovModelTrainer range 15 range 90 model nltkTrainer train
  • 如何使用 Kubectl 隐藏列

    我使用 tmuxinator 生成一个 tmux 窗口 用于监视一些 kubectl 命令的输出 例如 watch n 5 kubectl get pods rc svc pv pvc 但有时 Kubectl 的输出变得太宽 即滚动更新后的
  • NumPy 布尔数组警告?

    我有一些 numpy 数组 可以说a b and c 并创建了一个mask适用于所有这些 我试图这样掩盖它们 a a mask where mask is a bool大批 值得注意的是 我已经验证过 len a len b len c l
  • 使用 r 包 xlsx 删除 Excel 中的工作表

    正如标题所述 我想使用 r 和 xlsx 包删除 excel 中的第二个工作表 然而 运行代码后 什么也没有发生 以下是我用来删除工作表的示例代码 path C ECOS Code Test data xlsx sheets getShee
  • 如何生成可重复的随机数序列?

    我想要一个可以生成伪随机值序列的函数 但该序列每次运行都是可重复的 我想要的数据必须在给定范围内相当好的随机分布 它不一定是完美的 我想编写一些代码 根据随机数据对其运行性能测试 我希望每台机器上的每次测试运行的数据都相同 但由于存储原因
  • 将内容文件存入带换行符的 unix 变量中

    我有一个文本文件 test txt 其中包含以下内容 text1 text2 我想将文件的内容分配给 UNIX 变量 但是当我这样做时 testvar cat test txt echo testvar 结果是 text1 text2 代替
  • 使用 Graph Api 针对租户进行角色计数

    有没有办法找到每个role存在反对tenant and number of users已分配给每个role using GraphServiceClient or GraphConnection班级 我正在使用 C 目录角色 查找租户的所有
  • Windows 中的 Jenkins 以俄语显示 UI

    我来自乌克兰 当我在浏览器中打开 Jenkins 时 我看到所有用户界面都是俄语的 我在 Windows 上运行 Jenkins 但是 Windows 配置 区域和设置 中没有俄语 格式 英语 美国 地点 美国 只有时区是乌克兰语 UTC
  • 如何在 UITabBarController 中插入 UINavigationController

    如何插入UINavigationController inside UITabBarController 目前我有主要UITabBarController像这样在应用程序委托内声明 所以选项卡是主要的 self window rootVie
  • 如何在 r markdown 中将 kable 和 ggplot 对齐在一行(并排)?

    我正在尝试编织一个 r markdown 文件pdf 但我无法将 ggplot 和 kable 对齐在一行中 我尝试过以下方法 猫 双列 kable styling 位置 float right 下面是一个最小的 可重现的示例 title
  • 从 Jenkinsfile 中的共享库导入类

    我有一个具有以下结构的共享库存储库 root src com company DeploySteps groovy vars MainDeploySteps groovy 该库通过 Jenkinsfile 导入到作业中 如下所示 libra
  • 保存后显示相同页面

    我想显示一个带有某些字段 示例中的一个 的表单 提交它 保存并显示同一页面并重置所有字段 当我提交问题时 我执行 保存 操作 但是当我显示视图时 表单仍然被填写 该模型 public class TestingModel public st
  • 多个已编译的 linq 查询可以链接在一起吗?

    我正在尝试将多个已编译的 linq 查询链接在一起 我已经成功地将两个查询链接在一起 但我无法让三个查询链正常工作 因此 这里减少了我的代码以重现问题 我的两个问题是 为什么这不起作用 以及 是否有更好的方法来保持编译查询的性能优势并避免重
  • 如何在 PHP Web 应用程序中实现 Mozilla DeepSpeech 以将语音转换为文本?

    我有一个 PHP Web 应用程序 正在寻找一种开源 高精度的语音到文本识别实现 该实现将采用语音命令来打开用户的网页 例子 进行销售 这将打开创建销售 PHP 页面 下达采购订单 打开日终报告 etc 我的问题 我想知道我们是否可以使用M
  • 如何使用代表点对复杂形状进行建模?

    我想将该图像中的白色像素数量减少到输出图像中的一些候选点或代表点 目标是对不同类型的形状进行建模 如果您只是将输出图像中的灰点连接在一起 您将拥有相同的路径 但白色像素较少 这条路径应该只有一个起点和一个终点 并且涵盖从起点到终点的所有路径