QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 6829|回复: 5
打印 上一主题 下一主题

DIY系列之——某校图书证条形码制作

[复制链接]
字体大小: 正常 放大

4

主题

2

听众

664

积分

  • TA的每日心情
    奋斗
    2014-5-26 02:05
  • 签到天数: 48 天

    [LV.5]常住居民I

    自我介绍
    最大的特点就是没有特点

    群组数学建模培训课堂1

    群组Matlab讨论组

    群组数学建摸协会

    跳转到指定楼层
    1#
    发表于 2011-9-28 18:30 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    DIY系列之——某校图书证条形码制作
    % l1 o/ e! T9 k' f% r% N! N" F7 K8 B% l7 ?6 m3 s$ i
    小谷同学 2011/9/25. M  ~, Q; x2 e
    . R* p# F5 Y8 m: x. Y. I5 L* Z
    摘要
    , Q) e7 E4 b- i  x. [3 R
    ; b8 I/ k+ f% Z. r. l( f! \关键词: 条形码; a$ P5 ?1 M5 E! O' A

    3 f9 W% V8 r, m; y6 i由于印刷质量问题和长期的使用,某些同学的读书证可能会产生读卡不灵敏现象。为了便于解决这些问题,本文给出某校图书证上条形码的编码规则,并给出由这些规则生成条形码的过程。最后本文对条形码在日常应用中可能出现的问题进行了分析,并提出相应的解决方案。
    % O; C8 k. X3 V! c5 i
    0 b7 o* F  [1 a4 c5 D7 v3 m目录/ S; G1 j& G  \+ O3 j2 a

    5 f0 w, Q; \9 b4 p% Q1.某校图书证编码规则, n7 }  P  M* {' h

    8 W: `# h: ]! L4 G2.条形码制作的过程" F* _1 M/ p/ Q# u
    ; m/ n6 E$ ]8 j" w) Z2 W: ^
    3.打印与测试
    * t5 l  \& N; f6 n' ?" l
    ( g1 T- w5 k5 i4 J% h# e: V4.扩展应用6 g: y* ^9 d  _7 t

    ! G5 }' M( j8 O8 z1 `5.关于本例的一些思考2 G7 z! g- z( D6 Z* L
    . P8 e+ j% A% J' g8 M$ n2 \+ m
    6.免责声明与使用注意事项
    6 h/ N$ D. V% m. o/ L! b# s$ B
    5 t3 b( P7 W0 a5 p: E7.参考文献
    ) m  ~) Y; M/ P' F, L+ T4 N" B+ b, l
    8.附录
      }/ a) Q" o* T1 n3 b$ v6 L; k9 ~: R/ y2 d3 s# N1 t# z

    ! ?  p, q' M% Y1 {# N9 D2 w( G3 y# z$ o: d& A% ^

    9 F8 o" x$ @1 q+ e2 v) V( Q条形码(barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符。常见的条形码是由反射率相差很大的黑条(简称条)和白条(简称空)排成的平行线图案。有关条形码的更多资料参见文[1]。
      D4 F9 ]$ T, Y1 V, Q. @! |4 u9 z
    * I1 L6 V2 w" {' Q4 d- U/ \在日常生活中,我们不可避免地要接触大量的条形码,其中最常见的就是图书证了。而某些同学的图书证经常丢失。此外,某些同学的图书证由于缺乏保护,会频繁出现录入不灵敏现象。于是在谴责图书证的印刷质量之余,动手DIY一张图书证,自己进行质量控制,则可以使其更加灵敏地识别,大大减少进入图书馆的时间,大大缩短借书时刷卡的时间,提高学习和工作效率。图书证中携带关键信息的就是条形码,于是DIY的重点也是如何得到对应的条形码。
    8 X( U5 o- i# C& t8 u( h! z  E; G& U$ O3 ]' B0 j
    1.某校图书证编码规则
    5 q/ p# V: K- B& i) f, i+ j2 ?. K5 ?: b; ~; `
    由于所使用的编码方式不同,在了解常用编码规则(参见Internet)的基础上,必须通过对特定图书证的观察才可得出其特殊的编码规则。本文通过,对一种常见的图书证的观察,得出其编码规则如下:+ j& s6 \) b$ e: K9 f! w% G3 V

    6 P$ ~& u2 g6 D: R2 D, c" v+ F①该条形码部分由两种不同宽度的黑白条组成,是一种类code39编码方式;我们假设宽条代表1,窄条代表0;并假设在最后多一个白色宽条,以便使黑白条码的个数相等,方便程序处理。0 M/ G+ \* L! }( A& v
      n: |* c1 x9 b' U7 g9 B
    ②图书证的白色条码都是一样的,分为以下三部分:7 o1 g$ w+ u3 {7 Y1 V
    / o' M8 T; B( B# P( J
    1)起始部分:10001;2)数据部分:13个01001;3)终止部分:10001,与起始码一致。- n7 R" A$ J  i8 o" ]

    + e, S. S1 k) ~# q③图书证的黑色条码是携带学号信息的关键,分为以下三部分:
    5 ?% T& c/ ~1 W, G" }
    9 q  q% G" B% y1)起始部分:00110;# x" s/ C, X1 B% i5 @% V, D5 ~

    0 b( g+ s% u+ M/ n2)中间部分:13个数字(即学号12位+图书证序号),每个数字对应的代码如表一所示; 8 [/ o! G- b; _5 J: A

    2 D# ~  x: M4 x( V表一 某校图书证号每个数字对应的代码/ m! S& E/ X: g( x% c2 j. T
    9 K1 X- f8 L, n
    数字 代码 代码数字来源 数字 代码 代码数字来源
    . K8 s; f  G. A/ }4 z# Y) H$ z1 10001  1:0001                     6 01100 6:0110 ; H* T( h: z  \# `' I* |/ k
    2 01001 2:0010                     7 00011 8:1000
    1 |, w" f1 M# P1 j; ^4 R3 11000 3:0011                     8 10010 9:1001 & n7 [2 `5 m0 ]+ k% C# T
    4 00101 4:0100                     9 01010 10:1010
    ( p$ S& u4 ?0 f0 ~, V1 }5 10100 5:0101                     0 00110 12:1100                    
    2 P/ g( B/ Q( `* z  f
    ; D# i6 u$ K7 ]说明:每个数字由五个黑条组成,两宽三窄;代码前四位是数字的8421码的倒序,由于最多只能出现两个宽条,于是一次选取最多只出现两个1的8421码作为序号的代码;代码的最后一位用以校验,凑齐“两宽三窄”。- D; U; `/ d: ?) B6 E! j  x) g
      `7 \& E. `" o( o5 I/ u+ e4 [
    3)终止部分:00110,与起始部分以及数字0的代码都一致。
    / {8 s# o# Y$ S+ g! Z5 Q, n, e
    . h. R3 r+ [% _' c9 d; w2.条形码的制作过程
    & W  @: E8 M4 E$ L& s  G8 ?, h! q2 A. T! n  b
    黑色和白色可以用二值图像来表示,于是我们的关键是如何得到与条形码对应的二维矩阵。
    4 ]: J8 T. b& i$ s2 _
    5 T" u" u1 f8 C定义窄条即代码0的像素宽度为w,宽条即代码1的像素宽度为2w(一般取w=1即可);定义二维矩阵在黑色像素点处值是0,在白色像素点处值是1。此立即上得出与学号对应的条形码的二值图像的矩阵。
    ' R' O4 Z  R4 j9 T4 I- \) W; q7 ?
    * _, C2 v  H: @: J条形码效果如图所示(程序代码见附件所示)。/ H0 J- I" G4 g! f
    1.png & ]2 s8 R! i( c& @9 a7 [9 v# E
    图一 所得条形码效果图1 R' u+ w9 t5 H7 `
    ) _4 J  T* D! y7 i  Y
    3.打印与测试
    ! d$ D. T" A2 M5 \7 v! {( y9 i1 |/ A3 }9 w! L3 `
    有的制造商在批量打印图书证时不太用心,加上可能设备老旧,所以难免会使某些同学的图书证出现杂纹等印刷质量问题。
    % o9 `7 n" n; D. Z1 e/ d
    ! b+ J6 E5 `4 ^9 E: [因此,在DIY的过程中,尽量采用分辨率较高的打印机。对于分辨率较低的打印机,通过修改程序,扩大条形码的宽度,也可打印出质量上乘的条形码(本文测试时采用HP Color LaserJet 2820彩色激光一体机)。0 K& Q" H* U1 U2 K, z

    6 F  e8 x; ^/ n& f9 S$ ]6 I为了方便进行测试,本文打印出不同大小的条形码。* [# a/ {, A1 S4 E
    * R8 i+ E- u- N, E5 z& w) e
    测试一:将其用透明胶带粘在硬纸板上。9 I' ]- g. o4 c" A3 w6 a
    " S8 |0 y9 a+ |$ b* X
    结果令人遗憾,读卡机根本不识别。通过与图书证比较发现:2 R3 g. r7 v+ \# T- w$ z3 h

    ( W' |( o9 x0 v  }: z, j1 {图书证正面的塑胶反射能力很弱,在灯光下几乎看不到灯在其上的虚像;而透明胶带的反射能力很强,可以地清楚灯地虚像。
      S3 t/ Q  V- z% X# _2 y
    + ?5 y, P8 |, j测试二:找到原因后进行,将与原图书证同样的大小的条形码用胶水贴在硬纸片上,结果顺利该校图书馆通过门禁。We are in now!!
    / W  I5 o: H$ ]: A0 s. {! o& U$ V* ~
    效果如图二所示。
    1 X* g0 A8 ?4 y2 P; x! H7 F- x! A$ V) s! ` 2.png + F9 _% s) I1 W; y' a
    图二 打印效果图% w1 G$ d" x) H- j0 Y6 e
    测试三:用打印出的不同大小的条形码逐一进行测试,只有在一定的大小范围才可以通过测试。这说明了,条形码扫描器(注:本文使用的是全角度扫描器,其通过光学系统产生多条扫描线)是有一定的大小识别范围的。
    2 @" N8 c+ u: Z3 G4 a
    , ^) C7 S2 Z* F$ C  l/ {4.扩展应用
    6 p8 {: l) B' S& b9 k( d! G) I$ z" ^; B# s: f
    为了达到逼真的效果,我们做出了图书证模板(MATLAB版),该模板根据用户提供的证号、系部和姓名、照片、字体等信息,自动生成可供彩色打印的图书证如图三。
    - ?, i3 Q" s5 _$ @ 3.png / {/ O1 W1 G/ I0 L( V
    图三 可供彩色打印的图书证* t% O0 H  {3 b, I# u  I5 Y

    ) b3 R) t/ K' {' F  {+ t/ I2 Q过后,我们会给出相应的网页版、C++版、VB版等等。
    6 f" O' s  S+ F, R" }( y; ]2 K( {5 f& c! }
    5.关于本例的一些思考
    ! I9 {- s! Z" w" Q; R3 }
    6 G( I- W/ ]9 y) n- T; \由相关文献,可知条码技术具有以下优点:
    ; M. L+ q. w9 m, g1 t- V- V$ D, A& a* Z, ~( m6 x, D
      1)、输入速度快;
    7 D4 P) C1 t% e( Z: U) ]5 B' W3 K. p4 _( V
      2)、可靠性高;5 X5 r+ U0 _' v0 d. q& P! X" F1 ]

    ; m( q+ e' Y8 F$ G5 ^4 T2 t/ o  3)、采集信息量大;) L' M* O* A! n' F; Z- a# F

    , ^/ c5 N3 X2 e+ L  4)、灵活实用;
    ; S( P- [0 `: @$ S
    9 T; i$ r( n7 |8 z5)、条码标签易于制作
    : V$ B( k6 a, x7 H* ~* g( N4 T
    % d1 q+ p4 s6 J/ ^6)、识别设备操作容易,不需要特殊培训;: H, i6 F) O/ b' j- g
    % m; b7 R, e2 L
    7)、设备也相对便宜。
    / V$ R0 Y1 ~8 R& G6 e
    3 A. N7 T& A: s& T- A  M$ b$ @8 h1 ?因此,在平时可以自己构造的加密的编码规则,利用现成的条形码扫描器,可以很快实现特定功能的组建嵌入式的或基于PC的条形码识别系统。8 H  ]- w4 O$ c# b! ?
    1 I- X( I7 x  W- Q$ {; t
    由本文看,尽管一维条形码在各个领域获得了广泛的应用,但其安全性值得商榷。于是,在安全性要求较高或者要求条形码携带更多信息的领域,人们普遍采用二维码。常见的二维码如图四所示(更多资料参照文[2])。! Q' C& u$ R" f, w: l! A/ w
    4.png " ?& J8 r( z7 c; d5 c
    图四:常见的二维码0 y3 M# p/ t* C/ H  c# u" O

    ( q. N3 b2 e! O( l8 T4 B6.免责声明与注意事项
    ' U- J3 A- r- d4 e5 z+ s& Z, G" N* K3 Q
    版权所有,翻版必究。2 e# q% a/ t0 f" E( D& _1 ~4 X
    2 t% I9 ^! P1 p+ a, G
    技术在于交流。本文旨在交流条形码制作技术,并为个人制作提供质量较为上乘的图书证的方法,非经相关方面授权,严禁用于商业用途。有不法分子由此牟利而产生的法律责任,与本人无关。" m7 \$ f2 F" o7 A8 G  V( p

    6 t- F* {  Q; u" u- ?任何单位或个人认为本文可能涉嫌侵犯其合法权益,应向本文作者提出书面权利通知,并提供身份证明、权属证明及详细侵权情况证明。作者在收到相关法律文件后,将会依法尽快删除本文中违反法律的内容。 8 h' M) k( m' ^6 ^" T

    3 d! ]* ^8 q# b7 M7.+ S5 J/ A/ Q+ N" L. K  U
    参考文献
    ) I' x; [! s3 T1 m5 p) T) @& V* e; k7 J( F' H9 z
    [1]条形码—百度百科http://baike.baidu.com/view/13740.htm[2010-09-25]
    + l9 F/ p+ \5 i. d- Y
    + U: W# c1 O3 D# n5 q! L9 ?+ ?[2]二维码—百度百科http://baike.baidu.com/view/132241.htm[2010-09-25]
    - Y2 `2 x1 _5 o8 r4 [3 c& @6 g5 ~! @1 J9 B. @8 \7 U( N
    8.0 o% A4 n% W6 Y1 a
    附录
    0 O5 g: @  X1 p. W* w0 z( b+ F" \6 ?! N4 |
    相应的MATLAB程序代码如下(该程序经过简单修改,可以写成函数的形式,更方便地进行各种编码规则的条形码的生成):2 L9 o0 R4 [; [7 W" a: a' Y

    9 i+ j" t! x& k" Z, ]%barcode.m
    ; o* ?" z6 l0 [1 N7 A. W; K
    ( g1 T7 G" h& D( W! d' O: s%生成学号a对应的条形码
    . |  {" t9 _9 E' P
    9 F1 t, x6 r) B# X' j, p% d) W( n) q%2011/09/25 13:24 BY小谷同学
    0 _+ E+ j7 q; B- y8 ^+ u( T! _4 p2 B- b
    a='1234567890123';%学号,自行更改$ q6 J* m) k6 n

    ! {' W$ U- w* k5 \Black_num=[1,0,0,0,1;0,1,0,0,1;1,1,0,0,0;0,0,1,0,1;1,0,1,0,0;
    3 z' B% Q. i, K& W
    " h$ z; d! p+ ]# l0 ~, u, X2 t6 B3 z0,1,1,0,0;0,0,0,1,1;1,0,0,1,0;0,1,0,1,0;0,0,1,1,0];%数字编码5 c: s# k( e' a3 I

    / u' N6 K$ V' |" J* HWhite_num=[0,1,0,0,1];%插入符的编码; g& u/ |& L$ ?# e

    0 F. P7 d- O9 F, a4 Z) l/ D0 `1 I+ H%Black_SE='00110';
    + \; r( |' A8 C. \3 G1 s; C0 ^2 _9 ~1 t! v4 \* q
    %White_SE='10001';White_M='01001';
    8 ^4 s& @# I, b& r& q" w  S+ z. H+ \* L: P* j
    barheight=30;%定义条形码的高度( \, M& g1 U5 u( t" t8 Q

    5 H6 f7 w& t- e0 `" Y0 Gbarwidth=1;%定义条形码的像素宽度  W/ t4 q% B6 T+ ^, H& \% m6 R
    0 t5 C; v9 c2 u
    6 u3 V! ~" b! v+ u
    %可以对特定长度的输入进行控制,本文规定长度为13( z) x) X8 y8 s8 _: _# `

    & C. l: o* O- T: K3 V9 I! h5 ^6 Bif length(a)~=13
    2 g1 e8 {. a( s2 l" W
    # h: R: q. S& S3 f9 i, b6 E1 |, B6 Y4 [3 f5 y, {7 X" G# `
    error('图书证必须有13个数字');3 I$ x- l9 v( J. j. x2 }; m) R/ }+ ]
    - ^/ U% D5 d- D* G
    end
    8 O" W" j+ k* o( j
    * A; H. [- a( N$ g  V6 V+ d( h
    & m9 N7 R6 ?  k' ybarcode_SE=[0,1,1,0,1,0,0,1,0,0,1,0,1,1];+ D6 X/ D; V0 ^, ~2 `+ J
    6 R/ x  e! X( X3 G& H$ A
    %为方便,直接人工得出起始与终止部分的条形码1 j- }# |& F1 ^2 ^

    * V5 M9 u3 Z0 i/ R%也可以由程序生成.
    3 H1 r9 f2 {* c) [
    3 S3 l6 C8 w2 c7 Z! J2 D3 l) stotal=length(a)*(7+7);
    2 k* r- b. _7 e2 ]9 l9 v0 w, N& h: s4 s/ S! l2 p- C* Y0 o) u
    %条形码的总像素宽. d7 D: l( A$ K# J

    ) N1 M8 x- z7 k%也可以不用求,因MATLAB提供的均是动态数组. z  V- z  V  H1 e0 l+ ]) V
      C0 g4 h/ A2 [- W" Q
    s=1;%计数,记录% x, T- _1 s; @( |0 I5 s( l

    7 q* {' n5 H. W/ M/ D: d7 c
    8 t  H4 i  R6 G- Z3 n9 \%由于利用for语句容易出现不可预料的错误
    4 t* d0 c$ W5 q: g% `5 X3 E" X5 z: `* e9 R" Z6 a7 c
    %大部分是数组的行标与列标的调用问题,于是采用while循环  _' f$ y) ?# I) }
    * M% j% Z% W6 L" m( |) r2 C
    %嵌套循环,得出数据部分
    $ V  A6 t. ^! M+ M. k' m3 P, B% n* ~; N$ i
    m=1;
    / p  j1 ^+ s$ ~5 w/ q3 b( L+ O) D4 L7 j
    while m<14
    ; I! [" @; O, q7 I- i
    7 w' C0 e, F) @; [( S0 N4 k0 m: h6 M0 w; M
    if a(m)=='0';' y. S3 j" F* |/ ^/ f

    ( Q$ f$ ~4 Z3 R% r6 M( [& p- g
    : G, v3 T% b4 t5 mt=10;# ]2 c4 m8 v& g# p

    7 T* `; O" q, \# h/ c' E4 y7 j2 {1 N6 ~* }! g5 M
    %若为数字零,应该调用的下标是101 z$ y9 b0 |4 i3 ?3 k; K7 F

    5 h& I4 E" u4 q& A" q. u& G0 v* [" U
    else
    / C6 c1 F- f, C' o; y. d
    2 V' }2 U# x. Y; E5 b; M7 w# `4 R* v' Y$ M
    t=double(a(m)-48);
    ! v" d8 O; }5 A. W( V
    + V0 @" Q. j/ Y8 X%由于输入是ascii字符,转换为整数需要减去30H,即48
    ' U7 L1 I% q* Y! v2 [7 Y" S( \4 n
    ) k& ^& T( t. U0 M5 N% A8 B4 B0 k+ t
    end: V8 T6 z  K- X/ e  ]
    ( h$ y% r' Q2 T9 i& Y5 B
    . S* C, H% i% B; k+ F$ Q; {
    n=1;%同样的while循环
    1 |, M8 t, b! N" x  }# H; w! K6 C( Z: ?
    ' u8 G( c3 g* n% Q$ D0 j8 _/ [% p( V
    while n<6
    * Q% a" M( `+ ?3 z" }* ^1 N$ V# j: e0 a3 @1 j9 \

    , `/ w+ F! A! ]9 f. }if Black_num(t,n)==04 W, |% F+ G0 X: v6 l# p9 K

    $ D# @8 x6 A9 B& w, [: D" A. v2 z, |5 S1 O( C8 I
    barcode_M(s)=0;
      {. l, F; M+ ?  `, ^
    " w# k5 h. V# f7 Q5 X  Q
    $ {) L) ^# R$ |s=s+1;
    * L& Z, R( v* ]+ `$ r
    : M* t- a2 b6 N; J' c  e
    1 ~) f6 H& @; @: q7 aelse
    . g: y0 V; k6 r0 m; e1 S6 W, Q
    " O$ R" l2 P) V* `. V; C; X& A7 a) ?3 p7 r$ d, X
    barcode_M([s,s+1])=[0,0];
    & w+ A1 x( _3 J4 Q+ @6 H
    0 W, m, ]! B( n. `4 c) i
    & B% q  L6 ~0 c0 g, ys=s+2;
    & Y" y0 G$ r" U' `" \5 H  T7 v4 w% c2 {* f+ U; @
    0 f# ?/ ^$ v: Q6 M
    end
    ) p3 H1 y+ {0 n% _9 O0 v
    " d* K! B9 @$ ~0 t7 P. j. l
    8 Y( V$ ~; W: c+ W7 S! nif White_num(n)==0. {3 E# x3 q! L4 I. h5 H: F

    ! q' p! Y0 S# X, y! f/ C5 k7 ^/ }" }' v4 p2 k
    barcode_M(s)=1;
    % E4 l/ h* Y+ R+ ?. W8 _. Z  P& D
    - E# H# X6 D* ]8 A, J5 o
    1 i* k. L' H9 I- F$ _s=s+1;
    5 E: @# O6 Z& H9 `0 a2 f& n" o$ Q2 f4 L; ?& E" _" L$ n  F" ?

    * Q9 J( n9 L3 `) lelse# f: v5 J- g/ ~( r0 ~

      t( F/ w) U% C# v7 g) J6 x0 y+ u: x4 w2 W2 [$ C. o2 x) t
    barcode_M([s,s+1])=[1,1];* X; P8 c6 _% U: l4 t* t
    8 w( X+ P) s& u* {; Z3 \1 k
    , n6 e% U+ S7 t: M0 t1 D) D/ Z
    s=s+2;9 i: J% W5 u( P5 D

      C4 e4 F  {5 ^2 L0 i8 y7 [- W5 a( f+ \- n8 U  P
    end3 ?. i' W& ]% w" d" q5 t2 f
    5 O5 u# v! m/ D

    * p. M/ W$ r/ J. Un=n+1;
    7 V) \0 n- c  X! z- B/ J! N3 ^5 A! b3 v1 x

    $ h& d: N) K3 p% s0 C4 O% R5 Pend
    9 F7 n" N, M( O( \
    3 [! q$ z7 x5 K3 Km=m+1;
      E' r) _0 y' E! q6 @! v
    5 o$ M4 q8 h; k0 [! o* n) J6 Jend) `0 }* u! _) ~/ C1 g5 T- l8 h
    - ?' }$ }+ W' {' N! [3 [* H

    0 P8 }% `, z; V; mbcode=ones(barheight,1)*[barcode_SE,barcode_M,barcode_SE];) h% d* p* b7 p! F) c
    $ b2 x" W- g+ D! h
    %将一位矩阵拉宽,生成给定高度的条形码对应的二值图像的矩阵
    * J5 X9 p9 j' u" P
      Z4 t, t( ~7 U/ Y+ \bcode=bcode==1;%将数组转换为逻辑数组(Logic Array)
    " R# V8 C; k! f1 K2 c( D; m3 y6 s# B3 r) `( h
    imshow(bcode)%显示所得到得条形码& @9 a' B0 \+ |! \4 X6 }) [
    , d- ]6 u& X/ y. z& g) z  Y
    %然后可以自行存贮得到的条形码0 Y1 P7 y9 c1 O4 [3 C

    9 P  a* B4 g: W%然后用PS等工具得出具有自己特色图书证啦2 G, E! E$ f! G3 C/ t  U9 r
    , H) H( `6 M8 W: ^7 F
    4 o$ A# H. M" G
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏3 支持支持0 反对反对0 微信微信

    0

    主题

    3

    听众

    6

    积分

    升级  1.05%

    该用户从未签到

    回复

    使用道具 举报

    lszf        

    0

    主题

    4

    听众

    12

    积分

    升级  7.37%

  • TA的每日心情
    开心
    2011-9-15 22:33
  • 签到天数: 1 天

    [LV.1]初来乍到

    回复

    使用道具 举报

    0

    主题

    4

    听众

    35

    积分

    升级  31.58%

  • TA的每日心情
    无聊
    2012-8-4 13:31
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    自我介绍
    200 字节以内

    不支持自定义 Discuz! 代码
    很强大啊,
    9 K: l( V: ~' v6 ?) c. [可惜首先我联想到的是可以用来制作假的书本条形码,用于还不见了的书,,我这是在犯罪吧?
    回复

    使用道具 举报

    4

    主题

    2

    听众

    664

    积分

  • TA的每日心情
    奋斗
    2014-5-26 02:05
  • 签到天数: 48 天

    [LV.5]常住居民I

    自我介绍
    最大的特点就是没有特点

    群组数学建模培训课堂1

    群组Matlab讨论组

    群组数学建摸协会

    freedomfox 发表于 2011-9-29 20:36 8 r4 C; a2 [" V' ^+ t) O
    很强大啊,5 B, s; n  O% e) H: l  `) O
    可惜首先我联想到的是可以用来制作假的书本条形码,用于还不见了的书,,我这是在犯罪吧?{:3_ ...

    & S9 v: V  s+ I4 w4 O可以,不过你的学校肯定有记录,一旦发现,后果很严重的;
    - R, H* E( U( w) h2 Y  O目前我想到是:
    " d4 q& Y) Q$ e9 q4 c一、去周围学校的图书馆。2 |4 J4 d9 D$ j' v9 {6 S& x: V
    二、自己丢的图书证自己做一个一模一样的来。' I9 W: ?( t( d+ P. ^. y+ O) C0 A
    三、将图片弄到手机上,然后用手机刷进图书馆,吸引眼球4 E, m( y" r% W; L  H5 Y/ T
    四、将来毕业再回学校,再做一个图书证进图书馆( g+ C, z* X+ }$ W
    回复

    使用道具 举报

    书呆子 实名认证       

    5

    主题

    3

    听众

    415

    积分

    升级  38.33%

  • TA的每日心情
    擦汗
    2014-3-2 17:17
  • 签到天数: 82 天

    [LV.6]常住居民II

    2012挑战赛参赛者

    自我介绍
    热爱数学

    群组数学建模

    群组数学趣味、游戏、IQ等

    群组数学建摸协会

    群组数模讨论

    群组中国数模会长俱乐部

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-4-9 17:07 , Processed in 0.784568 second(s), 87 queries .

    回顶部