接下来,江寒又设计了一个抠图算法。
在实际应用中,原始文件以打印稿的扫描件为主,图片质量参差不齐。
所以在识别之前,一般要做些预处理,例如:矫正文本位置、去噪声、二值化等等。
具体的说,先要分析图像的光照特性,获取光照分布MAP。
然后进行边缘分析,得到图像的边缘分布模型,得到总边缘权值A。
接下来,再计算出图像的模糊程度,得到图像模糊度权值B。
这样就可以利用MAP、A、B这些参数,对图像进行二值化。
此外还要填充空白,防止图像产生断裂,并对离散的点进行分析,排除噪声点……
预处理完毕,才能把图片切割成一个个小块。
切割的时候,先对图片进行水平投影,找到每一行的上界和下界,将原始图片切成一行、一行。
再对切割出来的每一行进行垂直投影,找到每一个字符的左右边界,切割成一个、一个字符。
切割出来的一个个小块中,只允许包含一个字符。
此外还要对这些小图块进行缩放处理,有需要的时候还要进行对齐处理,最后才能送进集成式神经网络进行识别。
中午时间只有1个多小时,自然做不完这么多事,时间差不多了,江寒就叫醒夏雨菲,一起去上学。
然后整个下午,他都在研究《原子物理》,晚上回家吃完饭之后,就回到自己房间继续写代码。
忙到晚上9点多,终于搞定了大部分程序。
至于那些神经网络,则还需要一段时间进行训练。
看看时间不早了,江寒就将目前的工作备了个份,然后洗澡、上床、睡觉。
说是睡觉,其实是打算进入虚拟空间,愉快地玩耍一番。
然而他刚钻进被窝,就有人敲响了房门。
这个时间来敲门……
江寒不由得会心一笑:“进来吧。”
声音刚落,夏雨菲就推门而入。
看着焕然一新的小媳妇,江寒顿时瞪大了眼睛。
她这是……COS的哪个动漫人物吗?
这裙子也太短了吧?
还有这萝莉风的扮相,也太诱人了一点吧?
自己虽然没什么萝莉控倾向,可是看了这个样子的她,也多少有点把持不定了。
估计夏如虹又没在家,不然的话,这身衣服注定会成为“妈见打”系列……
……
半个小时后,夏雨菲脸红红地离开了,江寒仍沉浸在那如梦如幻的“奇遇”中。
不得不说,这次的体验真的很难得、很奇妙。
然而……
江寒感受着身体上的亢奋,不由得叹息连连。
虽然刚才那个“游戏”挺好玩的,可就是有点容易导致失眠……
好在他本来也没准备睡觉,眼睛一闭,瞬间进入了虚拟空间。
虚拟空间里,机器人仍在一丝不苟、片刻不停地刷分。
今天上午、中午、下午,江寒每隔个把小时,就抽时间进来看一眼。
结果还算让人满意。
绝大多数时间里,机器人的运行都相当稳定,只在下午的时候,出了一点小故障。
不知什么原因,电动车偏离了“铁轨”,于是,为了避免更加严重的错误,主控程序保护性地“停机”了。
江寒发现了之后,将系统复位了一下,机器人就又能正常地工作了。
……
江寒检查完机器人,就开始考虑今晚做什么。
每天晚上可以在这个空间里,度过无比放松的几十、上百个小时。
这么长的时间,不做点什么的话,就真的太浪费了。
然而,OCR软件没完工之前,还没法实现在虚拟空间里学习的美好愿景。
因此江寒想了想,很快做出了一个决定。
他打算利用这难得的闲暇时间,测量一下这个空间的大小,探究一下这个空间的“形状”。
这个空间肯定不是向四面八方无限延伸的。
很简单,这个空间的规模,总不能比外面的真实宇宙还要庞大吧?
所以……
这里要么是有边界的,要么就是一个曲率不为0的时空。
如果是后面这种情形,那么只要沿着某个方向一直前进,就大概率会回到原点!
但是,别说空间的曲率了,即使是平面的曲率,也不是那么容易测定的。
如果一个人“笔直”地向前走,那么即使是完全平坦的“地面”,也一定会回到原地。
这是因为人的双脚长度、力量有着细微的差别,走不出真正的直线,只能走出一个巨大的圆弧……
换成车子也是一样,车子两边的轮子状态,并不能保证完全一致。
气压、直径、磨损程度等方面,略微有点小区别,就不可能沿着直线行驶。
要想保证前进方向不变,必须拥有某种“导航”机制。
可惜的是,这个空间里并没有星星,而其他可靠的导航手段,江寒暂时也没有找到。
所以他琢磨了一下,决定分两步走。
第一步,先确定一下,脚下的“大地”究竟是平坦的,还是弯曲的。
这并不困难。
江寒先在商品列表中,购买了一些元器件,然后迅速地鼓捣了起来。
他用功率较大的激光二极管,搭配一组聚焦镜头,制作成了简易的激光器。
为了防止烧穿,他还特地制作了一个限流电流。
接上电源后,激光器就射出了足够笔直、足够远的光。
接下来,江寒又制作了一个能微调角度的三脚架,然后将激光头固定在了上面的托盘中。
这样一个超简易的“测距仪”就做成了。
江寒一共做了三个“测距仪”,又在三张一模一样的纸板上,画满了同心圆,粘在激光头后面,作为靶子。
随后,他将测距仪A放在工作台附近,就带上剩下的两个测距仪出发了。
由于要走的路比较远,江寒还特意让刷分机器人暂停,然后在电动车上装了一个小开关。
这样他就能手动控制车子启动、熄火了。
江寒坐上电动车,一直开出了五公里左右,才让车子暂停。
然后下车,将测距仪B竖在地上,打开激光头,耐心地调整角度,让激光射在测距仪A的靶心正中间。
B点搞定之后,他将电动车扭转大约60度,再次前进了5公里左右,来到了C点。
然后按照同样的方式,放置第三套装置,并让测距仪的激光,射在测距仪B的靶心。
最后他又回到起点,让测距仪A的激光射在测距仪C的靶心。
这样江寒就利用激光,在距离地面不到两米的位置上,做出来一个巨大的三角形回路。
接下来,他需要一个精密一点的电子量角器,来测量一下这个三角形的三个内角。
三个内角的度数之和,如果正好等于180度,那么很明显,地面就是无限接近平直的。
但如果大于180度,那么这个看起来极度平坦的“地面”,就很可能是个曲率为正的曲面。
也就是说,和地球的表面差不多……
电子量角器有多种实现方法,有用多圈精密电位器的,也有用霍尔效应传感器的。
后者的精准度更高一些,但实现起来也要稍微复杂些。
好在江寒并不需要什么东西都自己DIY。
这类基本的工具和元器件,商品列表里都有提供,只需花费一定的积分,就能购买到了。
江寒毫不犹豫地购买了一只霍尔效应量角器。
然后绕着激光大三角形,又跑了一圈,将三个内角的度数一一测量了出来。
最后,把三个数往一起一加……
江寒顿时倒吸了一口凉气。