求助,如何实现基于图像处理的自动计数,或有偿

2015-05-08 21:25:05 +08:00
 Sinnn
开门见山地说,这是楼主现在的毕业设计,以楼主的水平完全无法完成,如果重头开始学图像处理在这个时间点来说也不大现实。所以很希望在程序代码方面能得到帮助。

整个程序的背景/具体情况就是:对一些钢材的横截面进行拍照,程序能够读取这张图片,并进行一些处理/优化,最终能够自动统计出图片中钢材的数目。钢材横截面是类圆。
具体用哪种编程语言实现并没有要求,推荐的是 C/C++。

作为一名学生,这样对待自己学业的态度并不好,但由于个人能力问题也确实很无奈,实在很希望在此能够得到需要的帮助。楼主同时也会给出一定报偿给帮助我的人。这是我的 QQ:690296七75。愿意帮助我的人加的时候备注 v2ex 即可。

望各位轻喷,谢谢各位。
3128 次点击
所在节点    程序员
12 条回复
ruoyu0088
2015-05-08 21:56:23 +08:00
把图贴出来,看看难不难。建议用Python,有许多图像处理库。
Sinnn
2015-05-08 22:06:43 +08:00
likaci
2015-05-08 22:12:11 +08:00
感觉做成移动端有戏 手机一拍 然后计算数量
saberlion
2015-05-08 22:43:27 +08:00
hough变换,识别这个应该是不成问题的
billlee
2015-05-08 23:29:51 +08:00
qqzj
2015-05-08 23:56:45 +08:00
可以考虑用OpenCV,如果都是链接中图片那样,相交比较少的话,先变成灰度图,取个合适的阈值二值化,再用腐蚀和膨胀操作,最后取个图片中物体的边界,数下多少物体。如果有相交的话,处理要复杂了,需要分割了。
Sinnn
2015-05-09 00:11:12 +08:00
@qqzj
因为是钢材,所以不存在相交。
Ghoul2005
2015-05-09 00:40:56 +08:00
和验证码识别类似,但比验证码识别更简单,验证码识别的文章有很多,说得都挺具体的了。

简单说就是
1.如果拍的照片是彩色的,先转变成黑白,要考虑转换后能够非常明显地区分圆形的边界。
2.根据边界切分单元,一个圆形为一个单元,因为不会重叠,但可能存在两个圆埃得很近难以切分的情况。
到这一步已经能计算一张图片共有多少个圆形了,如果做验证码识别的话还有好几个更加复杂的工序。
实现的时候还有很多细节要考虑,算法要调参数来修正误差。
ruoyu0088
2015-05-09 07:41:49 +08:00
连要识别的图都没有,怎么做啊。钢材堆在和你发的那个图差别大了。

https://www.google.co.jp/search?q=%E9%92%A2%E6%9D%90&source=lnms&tbm=isch&sa=X&ei=f0lNVei1MZPz8QWWlIDoCw&ved=0CAgQ_AUoAQ&biw=1297&bih=695
northisland
2015-05-09 10:17:43 +08:00
思路1:hough变换,但需要想办法把图二值化
推荐opencv

思路2:(x,y,b,g,r),聚类试试
推荐scikit-learn
northisland
2015-05-09 10:24:52 +08:00
忘了说一句,这是图像分割(image segmentation)问题
貌似mean-shift,max-flow 效果都不错
dobest
2015-05-10 11:04:41 +08:00
赞同楼上所说的思路。如果是类似lz给的图,那不难,可以直接根据颜色二值化(类似聚类),再数符合条件的连通域数量(当然,也可以检测圆形)。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/189598

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX