【该项目现在已经实现人工智能识别,相关材料博客里面进行搜索】
钢管识别项目2
零、相关说明:
首先进行一下相关说明。在“jsxyhelu.cnblogs.com/项目实战派”栏目里面出现的需求、图片和其他资源,都是我在浏览威客网站、论坛等网站的时候通过正规渠道获得的真实需求。个人觉得比较感兴趣,但是由于时间或者工作的冲突自己没有去接这些项目。但是由于这些需求都很有实现价值,所以过了一段时间,仍然拿出来练一练手,并且实现了核心模块。希望能够给浏览者一些启发。如果你认为这些图片和资源放在这里不合适,请及时联系我(1755311380@qq.com),我会及时处理的。此外,我会将核心代码和技术细节尽可能将清楚,我认为这样才是最有价值的方式。如果需要原始代码,也可以和我联系。
一、需求
将“钢管识别项目1”中识别出来的结果导入Csharp的GUI中,通过手工辅助操作,对识别的结果进行修正。
二、初步分析
现在已经实现了图像处理的相关算法,能够自动处理图像得到上图的结果,那么下面需要做的就是
2.1)传递结果到Csharp中去;
采用的方法是比较熟悉的"csharp调用dll文件"方法。麻烦之处在于这里的结果数量比较大,而且其大小不固定。所以我尝试采用了“外文件参数”的方法。
修改相关的代码,使得能够将所有圆的坐标打印出来
导入并且画圆,结果看起来还不错。里面的误差来自于数值转化的时候的误差,在本例中不是大问题。
2.2)坐标统一化操作
本例的图片显示和上面的圆的计算,都是和实际图片相一致的。实际运用中可能会出现在显示的时候需要进行图片缩放的情况,这个时候,需要计算出缩放的比率,并且在最后画圆的时候有所考虑。
2.3)编写合适的界面处理代码,使得交互工作能够运行和达到效果。
能够选中某一个圆,并且删除一个圆
能够创建一个圆
三 、结果(看视频)
小结:目前这种方法应该说是能够解决一定问题的。而且由于目前使用winform通过dll调用opencv的方法也比较熟悉了,使用起来比较顺手。
解决目前这个需求应该是问题不大了,更多的问题可能需要晕倒真实项目的时候来解决吧。