Tag: 算法,
  • 1
預覽模式: 普通 | 列表

Code93 & Code93 Extended

前兩天完成了code 39和code128,學了不少知識。但barcode的種類繁多,因此希望smartshoot能支援更多類型。今日選擇了code93。
將code93的編碼transform過後,發現和code128極度相似,都是由6個digit組成;由於標準的code93只能表示43個可視字符+一個開始/停止字符,於是後來出現code93 Extended,在原本的基礎上,加上了4個特殊字符:($),(%),(/),(+),用過這4個特殊字符和原有的43個字符組合,就可完整表達 ASCII 0-127的所有字符。比如:(+)A = a 以及 /A =!

插曲:由於在wikipedia查code93的資料,wiki里有一個code39 的sample barcode,我寫完程序,識別他的barcode的時候,竟然發現解碼后是 "Wilipedia" 和他圖片(http://en.wikipedia.org/wiki/File:Code93.png)上顯示的有出入,我懷疑是我自己的dataset出了問題(有checksum,都正確),但檢查后,似乎不是我的問題,於是人眼decode!111141112122.......
結果依然是 Wili..... 不解,圖片出錯了?

詳情請看下表:
彩色區域表示是特殊碼和標準碼組合對應的新編碼
請稍等,圖片正在下載中...新窗口中打開
下載文件 下載XLS文件

查看更多...

Tags: vb.net 編程 算法 條碼 barcode

分類:文章 | 固定鏈接 | 評論: 0 | 引用: 0 | 查看次數: 2302

Barcode編碼及識別: Code39 & Code128

2112143113211311231313213121312331112

最近研究了兩類Barcode,Code39 和 Code128。
各有優勢,Code 39頭尾必須是“*”,識別簡單,非1即2,但無checksum,條碼效率低。

Code128分ABC 3個字符集,每個字符由6個數字組成,數字不再只是1或2,而是1,2,3,4共4個類型,識別時較Code 39複雜,開頭6位數決定隨后內容的字符集,有趣的是,在內容中是可以隨時改變字符集內容,這樣大大增加了Code128的使用彈性以及效率,正因如此,同樣的數據,編碼出來的 Barcode128 或許會不同,如:"123456A",由於字符集C全是雙位數字,因此,一段碼可表示兩個數字,在以上情況下,可直接全用字符集A,共需要7個碼各自表示每個字符;我們也可先使用Code128 C做起始,然後只需3個碼就可各自表示12 34 56然後再跳轉回字符集B,再用1個碼表示A。共5個碼。節約了2個碼,共12條黑白線。
一開始,我認為c128是4個數值狀態(1,2,3,4)組成,狀態多,當barcode掃描效果惡劣的情況下,讀取barcode將會很容易失誤,比如如何處理 1和2之間,3和4之間等等。。。但C128的組合設計非常精妙,只要經過處理,誤判問題不會發生。

請稍等,圖片正在下載中...新窗口中打開

下載文件 參考文檔下載

查看更多...

Tags: vb.net 編程 算法 條碼 barcode

分類:文章 | 固定鏈接 | 評論: 0 | 引用: 0 | 查看次數: 7169

Tower of Hanoi - Simulation

前幾日,上discrete Math,講到Recursion,剛開始覺得不是什麽新鮮事情,但想不到Recursion的真正用處,我是完全未掌握。
當講到Tower of Hanoi時,用programe怎么做,一時也想不到辦法,睇完ppt后,恍然大悟,竟然可以如此的簡單。
引用內容 引用內容
Move1,2(n)::= Move1,3(n-1);
biggest disk 12;
Move3,2(n-1)


代碼類型:JAVA [複製]


爲了驗證這一做法,於是用flash來做了個模擬程式。
單擊打開:下載文件 下載此文件
Flash動畫 點擊下載

查看更多...

Tags: 編程 flash 算法

分類:日志 | 固定鏈接 | 評論: 0 | 引用: 0 | 查看次數: 2867

Hough transform

對於圖像校正,原本要求圖像預先設定直線,通過讀取直線左右極端坐標,判斷旋轉角度加以修正,經過一段時間的測試,發現該方法有所不足,首先,問卷必須印上一定長度的直線,其次,只要圖像與其他線段,字符有交點,則會出現嚴重失誤,實在不理想。經過一番搜尋,發現Hough Transform在解決該問題上十分適用,唯一缺點就是慢(對以一張1654x2288的32位黑白bitmap的校正,暫時控制在200ms內)。有待改善。具體原理如下(多謝周sir的指導)

查看更多...

Tags: 算法 vb.net OMR

分類:文章 | 固定鏈接 | 評論: 1 | 引用: 0 | 查看次數: 4688
  • 1