Bootstrap

机器视觉入门之路(四二,感兴趣自动对焦)

你想用激光在手机背面打印几个字“GaugMe Improve”,拿出手机,放到激光镜头下,若不是激光有红光定位,你就很难在想要的位置打上这几个字,放好,鼠标点击按钮“打标(Mark)”,哇,出光了,美观的几个字便跃然其上。

其实手机的两条边可以形成一个坐标系,若我们能通过这个坐标系,定位打标(mark),精度会比红光定位要好,而且这些重复的定位啊!打标(mark)啊!让机器自动去做,想一想不错,想可以,做不行,人有时就是一个懒字,当有2万部手机,要这样做,下手吧!所以工厂里,一般都有一个高精度自动化设备制造部门。

我以前想过自动对焦怎么实现,也去试了一把,是这样的,从相机中有特征的地方截取一片w(宽)*h(高)的矩形图像出来(感兴趣区域),图像中相邻两个像素做差取绝对值,求和所有像素同一操作,值越大,说明图像越清晰,为什么呢?因为模糊图像,每相邻两个像素变化不大,故差值也不大,绝对值求和值越小,图像越模糊。人调相机清晰度,是人眼的判断,而此种方法,给出了一个可测量指标,所以不管人做或机器做,可测量标准是一致的。把相机装到运动轴上去一实验,果然ok。当你拥有资源时,请不要浪费你的时光!另外,流传这样一句话,德国人只相信机器,不相信人,在工业自动化上,很具有说服力,在此已经有那么点意识了。

说了这么多,就是要引出两个像素颜色做差,在此,颜色定义为0-255灰度黑白颜色。你会发现,白(255)-白=0,黑(0)-黑=0,但是,白-黑=255,即黑白间的跨度很大,也就是说有灰度颜色差,从视觉上去看,任何边界的形成,都是这种灰度颜色差造成。那么差别最大处便是黑白转折点,他是边界一点,即穿越点。作业通格本竖起来划线,竖线每通过一个通格就会形成两个穿越点,这两个穿越点就在边界上,当竖线通过所有的通格,边界上所有的穿越点都在这条线上。

这条线有什么用呢?是的,这条线就是你要的y轴,有了一,便有了二,x轴,道相同。这条线上的穿越点,我们这样描述,无外乎位置及灰度颜色差。x不变,y递增,即(1,1);(1,2);(1,3);...一共二十条通格,二十一条线,最后一个(1,21),因为白到黑,即255-0=255,灰度颜色差为(255);...21个(255),需要注意的是,位置和灰度颜色差一一对应。

等距离画竖线,通格本就变成方格本了。即使你歪歪扭扭画一条线,在方格本上,每一个交叉点,或穿越点,你都能读出位置和颜色灰度差,来描述这条歪歪扭扭的线,边界边缘一般情况都是这种线。

我们如何在图像界面上,设计一个工具,工具所在之处,歪歪扭扭的边缘便被准确指示出来,并给出位置和颜色灰度差?(待续......)

;