c - 从图像中获取信息

标签 c image-processing

<分区>

我需要开发一个需要进行一些图像处理的应用程序。假设说明性图像:

enter image description here

我正在寻找如何获得以下问题的答案:

  1. 我如何确定这个特定部分中有多少个圆圈 图像?
  2. 还有它的颜色?

请看图中的数字1.,它表示图像的第一“行”,其中可以有多个圆圈。我需要得到所有。

所以,我的问题是:

我需要知道什么才能开发这样的应用程序?书籍推荐将不胜感激。

一些信息:

  • 原始图片格式(image-input)为PNG或JPEG。

  • 圆的位置(包括中间的空格)是静态的。

  • 我正在寻找 howto,然后制作算法,但如果有一个库可以很好地完成这项工作,我也可以使用。

最佳答案

长答案:Gonzalez & Woods 的《数字图像处理》是您想要阅读的一本书。这里有您完成此任务所需的一切和​​更多 :)

简短的回答:如果您的背景是白色且均匀的并且保持这种状态,那么这是一项易于管理(如果不容易)的任务。您从像素聚类的区域增长开始,这意味着您尝试找到 (i) 相互关联且 (ii) 与白色背景不同的像素组。然后你寻找每个簇中大部分像素的颜色(中心点,而不是中值),这将为你提供圆圈的颜色。

可以对颜色进行像素聚类,如果存在同质 block ,然后通过连通分量方法拆分相同颜色的像素。

正如上面的评论所说,OpenCV 将对您有很大帮助。

关于c - 从图像中获取信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17646668/

相关文章:

c - 为什么我的输出是 0?不应该是40吗?

c++ - pthread_exit(NULL);不工作

android - 如何在android中将位图图像转换为二进制图像?

algorithm - 弗里曼链码无限循环[4-邻接]

c - 将任意数量的参数传递给函数

c - 在 C 中实现降序快速排序

使用 getchar() 无法让 EOF 退出 do while 循环

perl - ImageMagick:寻找一种快速模糊图像的方法

ios - 在 ios 中将图像转换为卡通

opencv - 如何检测旋转且变形很大的物体