網路城邦
上一篇 回創作列表 下一篇  字體:
我教你怎麼抓條碼?
2016/10/15 20:22:25瀏覽2526|回應0|推薦9

我的公司以車牌辨識系統為主要業務目標,但不是只會作車牌辨識,其實我做過很多各種形式的影像辨識核心,也常態性的擔任影像辨識顧問,幫忙解決業界其他公司的很多「小」問題!

目前國內提供影像辨識產品的業界較少自行研發辨識核心,多半是有特定的需要就去國外採購辨識核心模組,有些甚至只能買「授權」,就是有使用年限的!租約到期就不能繼續用,要再付一次錢的!在商言商,花錢買核心也是沒錯啦!比自己研發快其實也「便宜」很多!影像辨識高手的年薪很貴的!通常有錢還請不到!可惜的是最後錢都給國外的「高科技」公司賺去了!我們台灣公司想不窮也難。

但是買國外現成的辨識核心,就像買成衣,總有些小地方不合身,如果你是批發成衣來賣的,碰到顧客抱怨褲腳管太長,總要有些簡單的客製化能力,幫忙小修一下!所以我知道台灣很多業界的年輕影像辨識「RD」就是做這一類的工作,算是在複雜高技術的辨識核心周邊幫忙,當辨識核心功能略有不足時,就做一點前處理或後處理,以達到客戶的使用需求。

當這些RD遇到難解的問題時,就有可能找到我來試一試!既然我連車牌辨識核心都做得出來,通常這類問題是不會漏接的,動作還很快!也會將解題技術關鍵教給該公司的人,目的是希望這種顧問工作也變成本公司的主要業務,同時幫助業界的年輕影像辨識RD可以變得更強!最好強到不必向國外買辨識核心!那我就是台灣之光了!哈哈!

譬如下圖中有兩個一維條碼,一個是印在藍底的單據上的黯淡條碼,一個是加貼上去黑白分明的條碼,當客戶拿既有的軟體找單據上的條碼時,常常明顯的那個是抓到了,但漏了黯淡的那一個!我受命做的前處理研究就是如何將兩個條碼的區塊都辨識切割出來條供後續的程式解碼。我花了幾天時間做好了,也預計將「技術移轉」給該公司。 

其實用到的技術與程式真的很簡單,就是計算水平與垂直方向的灰階變化急遽跳躍點,也就是黑白交替的點數。條碼區的水平跳躍點密集(大),垂直跳躍點稀少(小);背景區兩種跳躍點都少(小小),文字區則兩種跳躍點都多(大大)!只要計算各個小區域的「水平減去垂直跳躍點數」就可以知道是條碼區、文字區或背景區了!按此原理,找不到黯淡條碼的原因只是所謂「灰階跳躍」的差值門檻訂得太高!黑白變化程度不夠被標示,那就將門檻降低一點嘛!

當然門檻降低雜訊會比較多,但是不難篩選掉,只留下整體長寬近似條碼的區塊即可!整體程式不過兩三百多行,真正處理計算的核心部分才一百行出頭而已!我發現多數年輕的RD遇到這種問題會自動地想找現成的程式模組,如OpenCV裡面有沒有可以直接套用的處理函數?但是對於問題的性質理解卻不夠細膩,也不習於用自己其實學過的一些影像辨識原理,與數學邏輯思考來解決問題!當然缺少「心想事成」等級的程式實作熟練度也是障礙之一!

我是老師出身的嘛!自動的會很想「教」這些年輕人:如何真的將問題本質看清楚,用原理直接解題就可以了!真的不必想太多,還甚麼OpenCV咧!或許用高中數學原理作著作著,辨識核心都可以自己做出來,明年公司不必花大錢買授權了,屆時老闆不加你薪水行嗎?

( 心情隨筆工作職場 )
回應 推薦文章 列印 加入我的文摘
上一篇 回創作列表 下一篇

引用
引用網址:https://classic-blog.udn.com/article/trackback.jsp?uid=yccsonar&aid=77875784