QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 6618|回复: 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系列之——某校图书证条形码制作
    - N7 Z2 {; M5 S
    . K% T1 ~' A; g. S* a4 j, V小谷同学 2011/9/252 j; ^4 v/ [; K  e
    ( N) J: X( K9 W9 }$ Y- a" H4 L
    摘要; \5 W' Z% L9 |2 S& t, L

    : C+ p2 M8 a6 m  g/ o关键词: 条形码
    ) m* L5 F9 a, Z& q, r
    & v: g" B+ y0 M) f. ~+ L% K) |由于印刷质量问题和长期的使用,某些同学的读书证可能会产生读卡不灵敏现象。为了便于解决这些问题,本文给出某校图书证上条形码的编码规则,并给出由这些规则生成条形码的过程。最后本文对条形码在日常应用中可能出现的问题进行了分析,并提出相应的解决方案。
    / P6 m3 |6 l& y3 ]2 Q. ~  n( z" B% }
    目录% Q% `: v) S6 ~: a" i

    7 X" g4 @0 |9 K2 [1.某校图书证编码规则
    2 T- v% v: `: s1 ]" {% b/ S' S/ q  ~
    + T) G* N; ?2 g; ]$ r5 B' f2.条形码制作的过程' f% y2 K# R8 A) E4 f4 I
    & ]* O. N0 b% J
    3.打印与测试/ R" e1 n& c3 l. p4 [8 o

    % c5 R! \5 k) K; M+ X4.扩展应用% G' e9 Y4 |" I* |# N5 ^
    ) e" Q8 O/ Z9 `' W
    5.关于本例的一些思考
    ! h, _6 y9 c1 [; K* j, ~% z: _  f
    ! e" B: Y* A: ?% {0 R8 N6.免责声明与使用注意事项9 T  d# j; ]; t  K- y; _* Z2 p! t/ i
    ; {2 ?' I3 U4 z2 Z
    7.参考文献3 ~! \  z; ?4 B1 V9 v0 \, D
    , o6 ?) U! e$ |
    8.附录
    ' E, }$ Y. k% X  G  {  {# `& Q1 T1 B, e7 M8 x8 J! Z, \
    1 Q5 L8 A% U  W1 P0 t( Y- U' c

    ) \; E5 G; Q9 @. Z; z) t8 h$ u: X7 ^4 ~) h
    条形码(barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符。常见的条形码是由反射率相差很大的黑条(简称条)和白条(简称空)排成的平行线图案。有关条形码的更多资料参见文[1]。
    ( Q. w7 v9 y. r2 z2 s7 |$ B0 C! U! U% Z# Q; _5 h8 `& Q2 w- s
    在日常生活中,我们不可避免地要接触大量的条形码,其中最常见的就是图书证了。而某些同学的图书证经常丢失。此外,某些同学的图书证由于缺乏保护,会频繁出现录入不灵敏现象。于是在谴责图书证的印刷质量之余,动手DIY一张图书证,自己进行质量控制,则可以使其更加灵敏地识别,大大减少进入图书馆的时间,大大缩短借书时刷卡的时间,提高学习和工作效率。图书证中携带关键信息的就是条形码,于是DIY的重点也是如何得到对应的条形码。0 C1 t, `4 N0 {+ i( \+ Q) E# T* H
    / o. y) y2 E( G* [' F. T. I2 H; ^
    1.某校图书证编码规则0 f6 Q0 n( R; U/ z+ A% q0 U
    * `7 y9 @, H+ L* D5 Z; N) D. {
    由于所使用的编码方式不同,在了解常用编码规则(参见Internet)的基础上,必须通过对特定图书证的观察才可得出其特殊的编码规则。本文通过,对一种常见的图书证的观察,得出其编码规则如下:
      A5 `9 b) w  ~
    + O( M3 j1 ~  _3 A9 x①该条形码部分由两种不同宽度的黑白条组成,是一种类code39编码方式;我们假设宽条代表1,窄条代表0;并假设在最后多一个白色宽条,以便使黑白条码的个数相等,方便程序处理。
    3 Y+ v' O$ k. u: Y% ^3 D7 s% W: a9 H" u- g" M8 `# R$ h9 g$ i
    ②图书证的白色条码都是一样的,分为以下三部分:
    # {0 c* B; }! o; c: l! a8 \
    + y) G2 E) q# f* l/ ^/ s( G1)起始部分:10001;2)数据部分:13个01001;3)终止部分:10001,与起始码一致。
    8 p6 O0 N7 l& g8 e
    . ]) f: W$ S5 z) j9 [9 u③图书证的黑色条码是携带学号信息的关键,分为以下三部分:# f+ _; o% c  R) ?  M( ~

    ) i1 H; u8 V- Z1 q1)起始部分:00110;
    . Y! r4 Q3 G* t( k9 [( y3 N; b8 o, T5 g4 f3 z% D
    2)中间部分:13个数字(即学号12位+图书证序号),每个数字对应的代码如表一所示;
    2 R, ^' N; H0 d: e. _6 l
    ) z- D$ l- W+ w0 n3 F6 C表一 某校图书证号每个数字对应的代码8 c& D, z1 Q$ e" w" u) Q

    / g7 y- o' C5 a; e- y数字 代码 代码数字来源 数字 代码 代码数字来源
    0 c' O$ t/ [( O  n  d1 10001  1:0001                     6 01100 6:0110
      e: }# r2 I/ x6 F2 01001 2:0010                     7 00011 8:1000
    & D7 z+ E) c) M3 11000 3:0011                     8 10010 9:1001 " I  u# A- {; b' {
    4 00101 4:0100                     9 01010 10:1010
    1 m) M5 s- [7 s$ }! I5 10100 5:0101                     0 00110 12:1100                    
    - ~5 ~- r$ R3 l& z7 i. k  i& p  W8 o' O) n
    说明:每个数字由五个黑条组成,两宽三窄;代码前四位是数字的8421码的倒序,由于最多只能出现两个宽条,于是一次选取最多只出现两个1的8421码作为序号的代码;代码的最后一位用以校验,凑齐“两宽三窄”。
    - ~7 f% F' c4 N+ V, K1 z
    / s5 N1 T$ u1 e3 F  e; w0 E6 Z- d3)终止部分:00110,与起始部分以及数字0的代码都一致。) a! U: K- D' L

    8 D5 R( J( K) `4 v5 U2.条形码的制作过程, E! u+ u* d- B6 |! ]8 T

    ) }  y: B2 U: n* m5 w# T$ A黑色和白色可以用二值图像来表示,于是我们的关键是如何得到与条形码对应的二维矩阵。
    8 }* R& ]! L  L' \" o9 ^+ x
    ; G/ d# x& H1 u( d" d! Z定义窄条即代码0的像素宽度为w,宽条即代码1的像素宽度为2w(一般取w=1即可);定义二维矩阵在黑色像素点处值是0,在白色像素点处值是1。此立即上得出与学号对应的条形码的二值图像的矩阵。6 ]# C/ B. u& [, k

    ' C% l6 u# [7 ~: n条形码效果如图所示(程序代码见附件所示)。
    $ B+ n' l  L! E/ ^! S 1.png * X4 H3 t8 K* [; I
    图一 所得条形码效果图+ |& X8 L% a; N# V! f7 f

    ' ?+ }$ ], p& e# B. Q# {3.打印与测试+ F4 I9 a- P9 R
    8 W5 j; B" r' u1 ]
    有的制造商在批量打印图书证时不太用心,加上可能设备老旧,所以难免会使某些同学的图书证出现杂纹等印刷质量问题。
    / r" w; w8 n2 E4 k
    - E; ~* A( B2 O5 n: c" V因此,在DIY的过程中,尽量采用分辨率较高的打印机。对于分辨率较低的打印机,通过修改程序,扩大条形码的宽度,也可打印出质量上乘的条形码(本文测试时采用HP Color LaserJet 2820彩色激光一体机)。
    3 U* A  a# M; y+ x. z8 Z) i) A6 {% m4 f; q: T9 Z& @
    为了方便进行测试,本文打印出不同大小的条形码。
    2 b' H8 Q1 D5 Z; Q  L, C- d* K& k6 Y
    测试一:将其用透明胶带粘在硬纸板上。
    . b8 A+ }  u& p9 e% j5 a0 H2 A8 Q$ h# k. w+ M
    结果令人遗憾,读卡机根本不识别。通过与图书证比较发现:+ s' u( O+ _) L$ }4 i
      T% h1 C( n, I  O* ^3 t3 ^
    图书证正面的塑胶反射能力很弱,在灯光下几乎看不到灯在其上的虚像;而透明胶带的反射能力很强,可以地清楚灯地虚像。% h  \2 }' z5 o8 m+ ^8 {2 K; @: C

    + e" E3 q0 o7 V7 m# _3 s测试二:找到原因后进行,将与原图书证同样的大小的条形码用胶水贴在硬纸片上,结果顺利该校图书馆通过门禁。We are in now!!
    , M& t: i; m- U  y( J: {9 k9 D* a
    效果如图二所示。4 S' S. n* u, L- j
    2.png ! d1 X  N8 t( o' A; E
    图二 打印效果图. f" n% i4 v% G1 y
    测试三:用打印出的不同大小的条形码逐一进行测试,只有在一定的大小范围才可以通过测试。这说明了,条形码扫描器(注:本文使用的是全角度扫描器,其通过光学系统产生多条扫描线)是有一定的大小识别范围的。
    - L' M: [: T6 E* c6 c
    8 P% z: q% g' j, w" u3 Y4.扩展应用: Z# r: Z0 q4 @5 N: i
    ) I0 W9 a& q" p# `
    为了达到逼真的效果,我们做出了图书证模板(MATLAB版),该模板根据用户提供的证号、系部和姓名、照片、字体等信息,自动生成可供彩色打印的图书证如图三。
    # P, X. a7 R* L! g  [+ T 3.png - e- Y( a" k( N8 N
    图三 可供彩色打印的图书证& n; ^, y- ?3 _# p1 A7 W

    : a- H$ h* t3 J8 A# c' O" U过后,我们会给出相应的网页版、C++版、VB版等等。$ C/ f6 `7 p$ ^3 {8 M+ k7 X

    4 E0 q# C( B9 \! q) m% W( {5.关于本例的一些思考
    6 a% r, O" ]9 {8 W( ~8 f
    . O* S; t% W+ ?4 l% |由相关文献,可知条码技术具有以下优点:
    , f! H$ X& J1 q, N
    2 ?: Y% q7 g( Y: i) q4 z) T  1)、输入速度快;
    . G& F" M6 Z5 B. y! w2 B
    ; w8 F/ S4 r! d0 N0 ]0 {# x* M  2)、可靠性高;
    ; g/ M7 ?1 {/ v) }
      ]9 s' G; h6 z/ B  3)、采集信息量大;" s4 u  y* S7 g. L: ~
    , h% T: {4 @+ x! z0 B3 `3 ^6 J
      4)、灵活实用;* C9 U5 j, z: K" h9 @

    - o+ E! }9 R& r7 q+ Y3 x3 d5)、条码标签易于制作, q" I( ^# l7 }, J
    . p2 [* \& Q' e* M/ \) d4 R1 X4 t
    6)、识别设备操作容易,不需要特殊培训;0 n! a* N. l( f6 f
    . q) y# ?3 E6 ?) T: h% W
    7)、设备也相对便宜。: Y" _2 j1 N* O0 j5 {

    ! |1 G+ n2 S' o+ J/ d( @因此,在平时可以自己构造的加密的编码规则,利用现成的条形码扫描器,可以很快实现特定功能的组建嵌入式的或基于PC的条形码识别系统。  _& n" P9 T5 I$ a/ S1 I. K! X

    8 M, b( q+ j9 y* `9 V& _2 ?3 @  Y3 j由本文看,尽管一维条形码在各个领域获得了广泛的应用,但其安全性值得商榷。于是,在安全性要求较高或者要求条形码携带更多信息的领域,人们普遍采用二维码。常见的二维码如图四所示(更多资料参照文[2])。7 \7 p5 c1 T5 v6 z5 {5 R1 d; d
    4.png . L4 c4 e& b" o& G
    图四:常见的二维码8 s8 h: v' ?5 r
      W* a$ [* r" a
    6.免责声明与注意事项
    + V$ o" x0 v* E5 m7 `9 E! Z
    % r' f4 ^! E1 J6 C0 a版权所有,翻版必究。
    ! F: x. P5 n/ c8 M5 x, m) t
    ; o8 O' q1 I3 l( j3 L技术在于交流。本文旨在交流条形码制作技术,并为个人制作提供质量较为上乘的图书证的方法,非经相关方面授权,严禁用于商业用途。有不法分子由此牟利而产生的法律责任,与本人无关。$ u' {- a* t2 T! w( h8 l% ?* I

    9 [2 Y, G4 J: ]6 V, z' X任何单位或个人认为本文可能涉嫌侵犯其合法权益,应向本文作者提出书面权利通知,并提供身份证明、权属证明及详细侵权情况证明。作者在收到相关法律文件后,将会依法尽快删除本文中违反法律的内容。
    * I% ~  ], b0 j) c) w
    # }1 X5 z% W% r; R; `4 @7.7 B2 e# e$ P8 Z8 `4 k
    参考文献
    ! Q/ ?: X5 }) H1 M3 i) C. E8 T1 I% ^$ q
    " {' ?$ n! E' x& j[1]条形码—百度百科http://baike.baidu.com/view/13740.htm[2010-09-25]
    " J- J$ C; ?- p1 P6 U4 a; a8 w7 O- O1 o1 c1 K
    [2]二维码—百度百科http://baike.baidu.com/view/132241.htm[2010-09-25]
    ' T: R6 N0 e0 w1 O: `' X
    . O0 _% v+ V7 n/ y5 i/ a; j8.+ m& v# e7 B: Z* n3 M% f
    附录, D0 ?1 q0 P0 J7 E

    # A: h6 K2 k. S" s" R6 M相应的MATLAB程序代码如下(该程序经过简单修改,可以写成函数的形式,更方便地进行各种编码规则的条形码的生成):
    ! K# R) @1 X+ _- {/ U% g" G8 I. v2 G5 {+ D) q8 t/ M( P
    %barcode.m
    " C/ F  g& B% S  c7 v" V- K" s" T& e3 m$ [# K7 \3 u! T- {
    %生成学号a对应的条形码
    . I& y9 ~1 N$ x
    2 E% ]; _' G/ X3 Y; V# [# x  a( m1 u& K%2011/09/25 13:24 BY小谷同学1 U  e. i( x" m: N7 K3 L

    ! ?" M# W/ |( q! c* F& da='1234567890123';%学号,自行更改
    / e7 n# y! }8 U" G6 X
    ( G! H8 M- t0 \, N8 m5 d; sBlack_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;
    2 y3 e) ]; S- i# b
    0 G* |4 N3 K9 b0,1,1,0,0;0,0,0,1,1;1,0,0,1,0;0,1,0,1,0;0,0,1,1,0];%数字编码
    9 K/ m) ^$ V" |+ J$ e" _. ~4 ^0 D8 }1 O+ p: \
    White_num=[0,1,0,0,1];%插入符的编码
    4 V$ ]# j5 Z+ r6 O+ h9 u+ G( N; g& b' i  E  O2 k7 U
    %Black_SE='00110';
    ) r$ K( v1 }; b3 w7 H
    & A4 Q7 _+ U! q%White_SE='10001';White_M='01001';
    ! F; @' D9 Q6 \* }- @$ w  f& a1 N7 N! D
    barheight=30;%定义条形码的高度+ a; c) _* Y- |& i) P$ y- {' k

    ( k6 f* x  `6 U4 d% w/ Nbarwidth=1;%定义条形码的像素宽度
    ) `8 z0 u( e% C
    $ g6 r! E* L' }  V
    ) ^+ ~! q3 d( K; L/ _! P%可以对特定长度的输入进行控制,本文规定长度为13
    0 r4 o; T, F7 a! U  U, g8 z
    7 a* F0 ?# F4 nif length(a)~=13% Z- e( G: V( E3 H; b2 @
    ! g6 C! ?0 ]% T- `: v+ i7 c* J

    , n$ `' K& Z2 O7 Rerror('图书证必须有13个数字');2 v# ?( E# H6 l! r! w3 Q
    ! s  Y$ l4 Y: s, d
    end+ l8 ~: |3 ]$ ?0 U

    3 m5 @: r$ ~2 k& R$ q) X: B, H8 L, }) S9 T
    barcode_SE=[0,1,1,0,1,0,0,1,0,0,1,0,1,1];
    $ W4 Z' ~8 m1 M- J2 |  m" ~
    ; S& T8 j: H3 J%为方便,直接人工得出起始与终止部分的条形码
    $ s  C0 A% a/ j8 o0 }3 m3 x1 Z7 `. [$ g/ w& F! z
    %也可以由程序生成.
    3 y8 `/ b. x" W6 T7 n0 y& B* u# k# ?4 h
    total=length(a)*(7+7);
    5 C9 ?+ L2 z  t1 I
    ! s. z# k0 w! W9 B9 G1 w%条形码的总像素宽
    . q( r# Q+ b6 W/ `8 |0 \
    . s. r+ N0 t8 @5 \# `7 p9 ?%也可以不用求,因MATLAB提供的均是动态数组$ C9 x! G/ w5 m3 ?% u! j9 t

    " K* I" P& J1 e$ a# y% t& {# @s=1;%计数,记录
    2 f& ~6 K# G, ^! {
    & n4 G% f& `9 J' @- U* {- s) e3 h' T5 i1 T, `% S! t
    %由于利用for语句容易出现不可预料的错误
    * S  Q" ]! I# [  O5 X" |; {3 o
    2 A+ @: h" }* y$ j%大部分是数组的行标与列标的调用问题,于是采用while循环8 ^) e; p9 G# \" l5 a2 B
    $ g- R& b( i# e5 o" ]
    %嵌套循环,得出数据部分
    + |3 t; [2 c5 X, @$ E  \( ^4 X, [4 y; e7 v. w8 K
    m=1;
    : S2 r: s0 T9 |: M8 d: l- v9 ]+ _
    % A  S6 M( F1 k9 w: Z* r& Lwhile m<14
    1 c. {* G0 F3 h- K: j
    ; R$ Q8 R5 o+ P
    7 c+ O& F  H$ s. Dif a(m)=='0';2 W' I0 t- h! X$ Q/ j
    8 o5 j. x: }  \, T, C2 q" Y
    " |4 S! ?# k+ z7 R$ T3 P9 L
    t=10;" Y. W6 Y8 @, F7 y( R9 t

    * s1 v; S8 N) {! w  c! b. A0 g5 u  F! v' v
    %若为数字零,应该调用的下标是10
    # X& w# T8 w; b2 ~& F& k8 _/ V9 C* {  w) B; g& X5 m' g
    , H+ K# {5 V( v3 k
    else7 ]5 o. l9 m* @. o/ Z& H' ?+ I5 E

    # S  x7 X! |7 ~' l8 f5 J6 U# |" v6 G! s! p- ?  b1 T* b) a2 M$ M
    t=double(a(m)-48);$ D! E0 {+ J) X( J0 t; A
    / Q* N0 j5 F3 N# _' _
    %由于输入是ascii字符,转换为整数需要减去30H,即48
      ?) |2 o( N( Y+ f" f# m- t' D/ \' }8 h* }" A% {
    9 l9 [9 |5 J# E
    end) J; S4 l3 T7 C6 j8 w" r

    0 _& P, L# V# x/ @; C" n" r' Z+ ~) h/ c4 I: N) i
    n=1;%同样的while循环# x* t& N. W2 |; [
    $ S: Z; z! \, Y7 v( J4 d' H

    6 b: _, l9 M5 _. Y* U1 Z* Ywhile n<6
    # v, R* ^2 W4 B6 n! @
    . m% n, f% ^8 T: a1 j7 c% m. F5 l1 y) O. I0 R
    if Black_num(t,n)==0
    ) v  I  X& @1 X! g
    " h2 h5 r$ Z% c) l( C! m8 q% w* l% W, B4 S( ?2 G
    barcode_M(s)=0;% O0 C% X& k+ G; c- o  x

    * t: H' v5 E' W7 L3 E/ \3 M) O$ @  q3 B' _$ w2 k
    s=s+1;
    * |4 L7 Z6 C! r: v
    ( i' H+ |. v$ {$ \1 r" @" u( _  D; u0 o) Y4 F' n
    else
    : t4 f5 w0 I, Q- O/ Z  ?  Z- b  y! d8 \8 ?. i
    8 V; y! I' y: H* Q$ f, C" u6 u" H
    barcode_M([s,s+1])=[0,0];6 @: g1 @. x8 Q& T4 o5 |$ W
    8 k( R$ y" J6 T
    4 A$ I9 I8 ~/ @. `
    s=s+2;
    + i; ~7 K* A! B7 i# J9 T
    1 E5 i/ J' c6 N
    - \6 {: b# Y5 Z: D: x$ oend
    2 F% l7 x$ A" {. B& a! p) U+ h6 _  f! E& T% e' P9 a0 v( w

    3 D# s' b. Z( p+ rif White_num(n)==0
    * G7 y6 m& S# t8 b( i7 f# S
    / K) W  e. J* p6 r! F8 X' m* r  }- U
    barcode_M(s)=1;
    , r* L8 t2 K0 j. D( ?+ O# r6 J- u% |' F  H0 o9 G5 w
    7 d" X, q* ?2 I3 _- x( T, T$ Y
    s=s+1;
    / W$ t2 k+ C% s* z8 h! s4 A+ L/ @! j, P& ]% i
    , B( `2 \  c2 n9 T+ U$ A
    else
    $ p; K4 D, _/ L: z4 J) Q8 Y2 n! m3 j" c$ X& D; O
    . V) |" N4 {" k2 T: l
    barcode_M([s,s+1])=[1,1];
    & `  p2 y; L' l- _, L$ N, T1 t9 L& ?4 ]3 k  T9 z3 ]

    3 v/ ~0 B! m; ?' y" h) es=s+2;2 j6 h5 I3 r  M/ m7 l6 n

    - Z8 s$ F  u$ ?5 T" Y* D1 p2 Q
    1 V! V) B$ v/ r+ M( G- Lend0 J8 B# [1 t% s6 p4 y  c; |
    4 i2 {; _9 e  E- ?; q' v* A
    # i% T# ?9 ?  ]3 D% C9 p
    n=n+1;
    4 Z. c1 N! R$ K6 N5 E4 b6 C+ L- N
    " i: m6 g3 {- `5 J7 ~4 A' X1 I2 s! @. u' Z, y% Q: k; ]
    end, g# |; m! [- W( ^5 j2 K' Z

    4 x( S% }4 F9 I, W1 Am=m+1;
    . L2 d8 r2 p7 z4 p# c3 c2 z( K4 A
    5 G: _" Z* ~7 cend6 w1 {! [- ~0 c

    $ u- m" m$ r$ f( U4 u: ?  @* H$ z% r! O' i
    bcode=ones(barheight,1)*[barcode_SE,barcode_M,barcode_SE];! ?) S& Z$ _: P( z

    . q8 |2 I. u0 w%将一位矩阵拉宽,生成给定高度的条形码对应的二值图像的矩阵
    5 y. o6 \& [9 H: ^# C- Q
    ( ^5 n# I* [- k9 `# v# E8 ibcode=bcode==1;%将数组转换为逻辑数组(Logic Array)  k" Y6 U. g" R

      L: p% l+ `  H6 U+ X% q7 S7 wimshow(bcode)%显示所得到得条形码
    ' I# X8 s5 y$ c( W1 K+ N( ^+ j$ {- B' _, f
    %然后可以自行存贮得到的条形码
    + o' y& ^, \6 L. w& \, k
    9 Q4 [, k/ G0 R# I5 D: ?4 k%然后用PS等工具得出具有自己特色图书证啦* @$ E/ R) L/ z: B; V# p5 L

    : j' |/ g& p) a" @9 W/ b$ C% C
    . m- K2 i9 p% A
    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! 代码
    很强大啊,% N) t9 k, ~+ W% `- i; r
    可惜首先我联想到的是可以用来制作假的书本条形码,用于还不见了的书,,我这是在犯罪吧?
    回复

    使用道具 举报

    4

    主题

    2

    听众

    664

    积分

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

    [LV.5]常住居民I

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

    群组数学建模培训课堂1

    群组Matlab讨论组

    群组数学建摸协会

    freedomfox 发表于 2011-9-29 20:36 5 Q+ m# M" u& Q7 A
    很强大啊,  [* L4 Z4 d7 V. {5 S2 K
    可惜首先我联想到的是可以用来制作假的书本条形码,用于还不见了的书,,我这是在犯罪吧?{:3_ ...
    8 r0 d1 E0 n5 v7 t1 Y
    可以,不过你的学校肯定有记录,一旦发现,后果很严重的;0 a6 \7 V4 V- d4 r& Q
    目前我想到是:1 H5 _! u) n5 G; y
    一、去周围学校的图书馆。
    " E& N$ p5 N3 @+ _, y5 S9 x二、自己丢的图书证自己做一个一模一样的来。, f0 h3 z) X; D
    三、将图片弄到手机上,然后用手机刷进图书馆,吸引眼球! Q; H2 M8 g* _2 \: A: e2 u
    四、将来毕业再回学校,再做一个图书证进图书馆
    ; {" D8 a- Z- @  C# h/ s
    回复

    使用道具 举报

    书呆子 实名认证       

    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, 2025-9-25 16:39 , Processed in 1.843537 second(s), 86 queries .

    回顶部