一种简单的图像识别技术(2)
3.6 种子填充[3](找外框)
3.7 种子填充[3](找空洞)
3.8 当上下走时确定左右边界
3.9 当左右走时确定上下边界
与上述代码类似,大家可以模仿写出。
4 调试输出结果[9]
实际行数是82,列数是100
初始地图中,三个动物外框都用1 表示,三个动物内部和外面都用0 表示。
4.1 查找第一个动物
(1)初始状态,第一个动物边界全部填充1
(2)查找动物的外围空气
minx=0, miny=9, maxx=47, maxy=35
未访问的空气白洞位置是x0=0, y0=9
中间状态,第一个动物的边框中,动物的左上部外围空气全部填充1
…
(3)最终,第一个动物的边框内部全部填充1
4.2 查找第二个动物
(1)初始状态,第一个动物边界全部填充2
动物体内的一个白洞位置是(4, 21)
(2)查找动物的外围空气
…
(3)最终,第二个动物的边框内部全部填充2,但是左下部个别格子为0
4.3 查找第三个动物
(1)初始状态,第一个动物边界全部填充3
注意到3 和2 有些交叉,但并不影响算法的正确性。
(2)查找动物的外围空气
minx=47, miny=24, maxx=81, maxy=67
未访问的空气白洞位置是x0=48, y0=24
中间状态,第三个动物的左上部外围空气全部填充3
…
动物体内的一个白洞位置是(51, 43)
动物体内的一个白洞位置是(60, 30)
(3)最终,第三个动物的边框内部全部填充3
可发现了3 个动物AKW
通过观察中间输出结果,可以看出程序确实是按照我们的算法,逐个动物先填充边框内动物边界 外围的空气,
然后逐个填充动物内部的洞,用相应数字(1,2,3等,表示动物编号)来填充的。
5 结论
图像识别技术中,最主要的算法是识别不同图像的特征,然后用种子填充[3],分为边界填充[8]和内部填充[7]。算法思路非常简单、清晰易懂。而且函数都做了注释。如果扩展到无数个动物,只要动物之间不会重叠,而且动物体内的洞数各不相同,则都可以识别出来。本人在网上也查看了别人的解题方法,但是大多代码非常复杂,晦涩难懂。甚至有些算法的运算结果是错误的,也发布到网上共享。
[1] 陈锐. 新C/C++函数与算法速查速用大辞典[Z]. 北京:中国铁道出版社, 2015.
[2] Stephen Prata. C++ Primer Plus 第6版中文版 [M]. 张海龙, 袁国忠, 译. 北京: 人民邮电出版社, 2012.
[3] Thomas H. Cormen. 算法导论[M]. 殷建平, 译. 北京: 机械工业出版社, 2013.
[4] 何国斌, 吴春明. C++面向对象程序设计教学改革与实践[J]. 西南师范大学学报(自然科学版), 2016, 41(11): 189- 193. [2017-10-10]. DOI:10. 3718/ 11. 031.
[5] 陈贝, 许庆国. 基于静态检测的C++内存泄漏分析[J]. 计算机工程与科学, 2017, 39(01): 118-124. [2017-10-10].
[6] 张银霞, 耿蕊, 李敬有. 融合计算思维的“C++程序设计”案例教学实践[J]. 工业和信息化教育, 2016, (11): 42-46. [2017-10-10].
[7] 李丽薇. 浅析Visual C++编程技巧[J]. 黑龙江科技信息, 2017, (16): 190. [2017-10-10].
[8] 徐杰恒, 朱希成. 基于Visual C++图像边缘检测的实现[J]. 工业控制计算机, 2017, 30(06): 17-18+20. [2017-10-10].
[9] 董婉萍. 计算机C++语言编辑程序技巧[J]. 电子技术与软件工程, 2017, (07): 262. [2017-10-10].
[10] 张红梅, 王磊. 深入解析C++指针类型[J]. 齐齐哈尔大学学报(自然科学版), 2016, 32(05): 21-26. [2017-10-10].
Now the general image recognition algorithms are k-means algorithm and word bag model. But the algorithm is very complex, and it is very difficult for ordinary people to learn. I have invented a very simple image recognition algorithm, ordinary people can understand it at a glance.
文章来源:《四川动物》 网址: http://www.scdwzzs.cn/qikandaodu/2021/0728/1611.html
上一篇:遐思
下一篇:地球上耐饿程度最高的动物