線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:4287
推到 Plurk!
推到 Facebook!

讀取影像條碼(39碼)

 
esp_pzj
初階會員


發表:32
回覆:70
積分:40
註冊:2007-02-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-01-16 14:32:25 IP:59.120.xxx.xxx 訂閱
讀取影像條碼限39碼
------
學藝不精 謝多多指教
編輯記錄
esp_pzj 重新編輯於 2008-01-23 16:25:37, 註解 重新上傳‧
fusung
中階會員


發表:26
回覆:169
積分:99
註冊:2003-11-25

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-01-16 16:49:43 IP:220.139.xxx.xxx 訂閱
你好:

想請教這個程式設計概念,是否可以說明一下呢?謝謝。

針對解讀條碼的部分是套用現成的函式庫還是純手工製作呢?

個人對這方面比較陌生,如果問的問題層次太低,敬請見諒。
------


The first step toward proving things for yourself is to understand how others have done it before!

esp_pzj
初階會員


發表:32
回覆:70
積分:40
註冊:2007-02-09

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-01-16 17:11:50 IP:59.120.xxx.xxx 訂閱
是純手工製作,沒有使用別人的元件或函式庫。

讀取image取得每一個點的RBG
算出 每一個 黑色條紋 及 白色條紋 的寬度,
再進行 39CODE碼 的比對
39CODE 是以五條黑色、4條白色條紋來表示

例:
條碼顏色 : 黑 白 黑 白 黑 白 黑 白 黑
寬度 : 12 5 6 5 7 16 7 5 12
粗細 : 細 細 細 細 細 細
比對39CODE 後得到 A



===================引 用 fusung 文 章===================
你好:

想請教這個程式設計概念,是否可以說明一下呢?謝謝。

針對解讀條碼的部分是套用現成的函式庫還是純手工製作呢?


個人對這方面比較陌生,如果問的問題層次太低,敬請見諒。
------
學藝不精 謝多多指教
編輯記錄
esp_pzj 重新編輯於 2008-01-17 12:39:56, 註解 補充說明‧
fusung
中階會員


發表:26
回覆:169
積分:99
註冊:2003-11-25

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-01-18 00:58:49 IP:220.139.xxx.xxx 訂閱

看完你舉的例子,我已經大概瞭解解碼的原理,謝謝回覆!


===================引 用 esp_pzj 文 章===================
是純手工製作,沒有使用別人的元件或函式庫。

讀取image取得每一個點的RBG
算出 每一個 黑色條紋 及 白色條紋 的寬度,
再進行 39CODE碼 的比對
39CODE 是以五條黑色、4條白色條紋來表示

例:
條碼顏色 : 黑 白 黑 白 黑 白 黑 白 黑
寬度 : 12 5 6 5 7 16 7 5 12
粗細 : 細 細 細 細 細 細
比對39CODE 後得到 A



===================引 用 fusung 文 章===================
你好:

想請教這個程式設計概念,是否可以說明一下呢?謝謝。

針對解讀條碼的部分是套用現成的函式庫還是純手工製作呢?


個人對這方面比較陌生,如果問的問題層次太低,敬請見諒。
------


The first step toward proving things for yourself is to understand how others have done it before!

TWY
高階會員


發表:2
回覆:133
積分:152
註冊:2009-09-02

發送簡訊給我
#5 引用回覆 回覆 發表時間:2009-10-02 15:00:14 IP:211.21.xxx.xxx 訂閱
很不錯的工具。
條碼種類非常多,若能開放 Source 讓大家研究、擴充就更棒了。
carstyc
資深會員


發表:16
回覆:254
積分:329
註冊:2003-07-18

發送簡訊給我
#6 引用回覆 回覆 發表時間:2009-10-05 11:09:46 IP:203.79.xxx.xxx 訂閱
幾年前我有做過一模一樣的東西。

需克服的問題是

1.條碼在影像中的某一區塊,但因掃描的機器不同及每個人掃描習慣的不同,如何定位出條碼的位置
2.你根本不知道條碼會在那個區塊,如何去判斷那個區塊是『條碼』
3.如果掃描過程中,發生影像傾斜的狀況。


以上問題,我都是用土法煉鋼的方式解決,但就因為是土法,所以限制很多。想聽聽esp_pzj大大的看法...

謝謝


===================引 用 esp_pzj 文 章===================
讀取影像條碼限39碼
esp_pzj
初階會員


發表:32
回覆:70
積分:40
註冊:2007-02-09

發送簡訊給我
#7 引用回覆 回覆 發表時間:2009-10-05 11:32:00 IP:59.120.xxx.xxx 訂閱
1.我是應用於固定位置的條碼,我會事先訂出條碼位置,這樣判讀會比較快,沒有區塊的問題。
2.如果要找出條碼的區塊可用,掃描圖案的概念來處理,不過判讀會比較慢。
例:100*100 大小的圖檔。

橫向條碼
你可以在 X:10位置 Y從:0~100 找出條碼開頭 進來判讀
X:20位置 Y從:0~100 找出條碼開頭 進來判讀
X:30位置 Y從:0~100 找出條碼開頭 進來判讀
X:40位置 Y從:0~100 找出條碼開頭 進來判讀
X:50位置 Y從:0~100 找出條碼開頭 進來判讀
X:60位置 Y從:0~100 找出條碼開頭 進來判讀
X:80位置 Y從:0~100 找出條碼開頭 進來判讀
X:90位置 Y從:0~100 找出條碼開頭 進來判讀

直向條碼
你可以在 Y:10位置 X從:0~100 找出條碼開頭 進來判讀
Y:20位置 X從:0~100 找出條碼開頭 進來判讀
Y:30位置 X從:0~100 找出條碼開頭 進來判讀
Y:40位置 X從:0~100 找出條碼開頭 進來判讀
Y:50位置 X從:0~100 找出條碼開頭 進來判讀
Y:60位置 X從:0~100 找出條碼開頭 進來判讀
Y:80位置 X從:0~100 找出條碼開頭 進來判讀
Y:90位置 X從:0~100 找出條碼開頭 進來判讀

3.條碼傾斜,在一定的傾斜內還是可以判讀的,傾斜太大就行了,傾斜太大不能判讀時可用人工補打 或 重新掃描。

4.以上是我想到的方式,請教 carstyc大大你的「土法煉鋼」是如何處理。


===================引 用 carstyc 文 章===================
幾年前我有做過一模一樣的東西。
需克服的問題是
1.條碼在影像中的某一區塊,但因掃描的機器不同及每個人掃描習慣的不同,如何定位出條碼的位置
2.你根本不知道條碼會在那個區塊,如何去判斷那個區塊是『條碼』
3.如果掃描過程中,發生影像傾斜的狀況。

以上問題,我都是用土法煉鋼的方式解決,但就因為是土法,所以限制很多。想聽聽esp_pzj大大的看法...

謝謝


===================引 用 esp_pzj 文 章===================

讀取影像條碼限39碼
------
學藝不精 謝多多指教
carstyc
資深會員


發表:16
回覆:254
積分:329
註冊:2003-07-18

發送簡訊給我
#8 引用回覆 回覆 發表時間:2009-10-05 11:51:42 IP:203.79.xxx.xxx 訂閱
1.我也是用條碼固定位置,但是還是會有紙張放置上下左右偏移的狀況。也就是本來預期的位置上,可能只能抓到條碼的部份。
土法解決方式,就是條碼上下左右預留很多空白,然後把條碼判讀的區塊稍為放大一點,然後就能比較高的機率抓到完整的條碼。

2.這樣逐筆掃描的方式,如果10的間距剛好抓到條碼中間的話....可能的誤差就很高了。只是我有看過一套條碼辨識的元件,它可以完全判讀圖片上任何位置的條碼,覺得很強悍,只是想不出它的原理是啥。

3.後來有個需求,不容許條碼上下右放很多空白。我的解法是,在圖上放兩個十字,然後根據兩個十字,去計算出條碼的相對位置。


===================引 用 esp_pzj 文 章===================
1.我是應用於固定位置的條碼,我會事先訂出條碼位置,這樣判讀會比較快,沒有區塊的問題。
2.如果要找出條碼的區塊可用,掃描圖案的概念來處理,不過判讀會比較慢。
?? 例:100*100 大小的圖檔。

??橫向條碼
???你可以在? X:10位置??Y從:0~100??找出條碼開頭?進來判讀
?X:20位置? Y從:0~100??找出條碼開頭?進來判讀
?X:30位置? Y從:0~100??找出條碼開頭?進來判讀
?X:40位置? Y從:0~100??找出條碼開頭?進來判讀?
?X:50位置? Y從:0~100??找出條碼開頭?進來判讀?
?X:60位置? Y從:0~100??找出條碼開頭?進來判讀
?X:80位置??Y從:0~100??找出條碼開頭?進來判讀
?X:90位置? Y從:0~100??找出條碼開頭?進來判讀?

??直向條碼
???你可以在? Y:10位置??X從:0~100??找出條碼開頭?進來判讀
?Y:20位置? X從:0~100??找出條碼開頭?進來判讀
?Y:30位置? X從:0~100??找出條碼開頭?進來判讀
?Y:40位置? X從:0~100??找出條碼開頭?進來判讀?
?Y:50位置? X從:0~100??找出條碼開頭?進來判讀?
?Y:60位置? X從:0~100??找出條碼開頭?進來判讀
?Y:80位置??X從:0~100??找出條碼開頭?進來判讀
?Y:90位置? X從:0~100??找出條碼開頭?進來判讀?

3.條碼傾斜,在一定的傾斜內還是可以判讀的,傾斜太大就行了,傾斜太大不能判讀時可用人工補打 或 重新掃描。

4.以上是我想到的方式,請教?carstyc大大你的「土法煉鋼」是如何處理。
?

===================引 用 carstyc 文 章===================
幾年前我有做過一模一樣的東西。
需克服的問題是
1.條碼在影像中的某一區塊,但因掃描的機器不同及每個人掃描習慣的不同,如何定位出條碼的位置
2.你根本不知道條碼會在那個區塊,如何去判斷那個區塊是『條碼』
3.如果掃描過程中,發生影像傾斜的狀況。

以上問題,我都是用土法煉鋼的方式解決,但就因為是土法,所以限制很多。想聽聽esp_pzj大大的看法...

謝謝


===================引 用 esp_pzj 文 章===================
?
讀取影像條碼限39碼
TWY
高階會員


發表:2
回覆:133
積分:152
註冊:2009-09-02

發送簡訊給我
#9 引用回覆 回覆 發表時間:2009-10-05 12:44:17 IP:211.21.xxx.xxx 訂閱
幾年前專案開發用過富士通大型掃描器,配合搭配的 OCX 元件可以抓出紙張所有任意組條碼,支援幾乎所有種條碼格式,任何角度皆可正確辨識。不過人家一台賣幾十萬,若能解決條碼位置及角度問題的話,就可以用純軟體不需綁硬體做到一樣的功能了。
esp_pzj
初階會員


發表:32
回覆:70
積分:40
註冊:2007-02-09

發送簡訊給我
#10 引用回覆 回覆 發表時間:2009-10-06 09:13:24 IP:59.120.xxx.xxx 訂閱
1.可以將 10的間距 依需求設定。
2.在圖上放兩個十字,先把位置定出來這是一個方式,我是一次取三個位置 三個條碼,在互相比,增加正確率。



===================引 用 carstyc 文 章===================
1.我也是用條碼固定位置,但是還是會有紙張放置上下左右偏移的狀況。也就是本來預期的位置上,可能只能抓到條碼的部份。
土法解決方式,就是條碼上下左右預留很多空白,然後把條碼判讀的區塊稍為放大一點,然後就能比較高的機率抓到完整的條碼。

2.這樣逐筆掃描的方式,如果10的間距剛好抓到條碼中間的話....可能的誤差就很高了。只是我有看過一套條碼辨識的元件,它可以完全判讀圖片上任何位置的條碼,覺得很強悍,只是想不出它的原理是啥。

3.後來有個需求,不容許條碼上下右放很多空白。我的解法是,在圖上放兩個十字,然後根據兩個十字,去計算出條碼的相對位置。

------
學藝不精 謝多多指教
系統時間:2024-04-26 22:20:14
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!