QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 6570|回复: 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系列之——某校图书证条形码制作
    : x" x+ }( ^) U+ G% k
    9 P& `; d" ]7 o! E小谷同学 2011/9/255 Y1 P0 @  D+ x- y5 r: ?

    ' @# A* L! V) P  y& V4 C0 K摘要$ O$ L- j: v  f& P0 y  T
    ; m7 e  j( ~3 v/ }) N0 t5 r
    关键词: 条形码  N) A/ U1 q8 Y2 q8 N6 ?( n! X5 y: S

    ! _" x8 d7 e7 x  `2 m0 M# d由于印刷质量问题和长期的使用,某些同学的读书证可能会产生读卡不灵敏现象。为了便于解决这些问题,本文给出某校图书证上条形码的编码规则,并给出由这些规则生成条形码的过程。最后本文对条形码在日常应用中可能出现的问题进行了分析,并提出相应的解决方案。
    0 X: i+ ?. u2 m2 F- g2 t, \( z
    , F# q$ m6 I/ c9 A& W- i, d目录: M+ J$ o- o. l" X# ^5 c8 ]8 N

    % a: r- x) b. Y, H) F- X& u0 ?1.某校图书证编码规则
    $ n* E7 s8 D* E- E$ L' B% F/ Q7 Q5 B) z& d% ~' C$ c2 l- M9 k
    2.条形码制作的过程
    ) m. h8 W& g6 K- o1 J, I) i: V3 i) u& q6 B4 t- N
    3.打印与测试
    ' x. i2 L3 W2 x& z' \) ^) H  b& C
    8 }- Y; c# R5 E' V4.扩展应用5 h( \7 D4 k. M; J) P* H1 ?5 E& W

    3 g- {6 y, m8 ]& \- J4 Y8 u. d5.关于本例的一些思考* @1 r: F; r. ]" l/ @0 x( }6 [9 N

    & B7 q3 c7 f0 g% o6.免责声明与使用注意事项( @& @/ l0 E% S6 Y! X& ]+ f- w
    % K' e$ h3 K* W3 f) z2 P
    7.参考文献
    + u/ M( ?( K7 I/ Y/ j1 Y* E8 J
    ) R7 \! [& p/ t8.附录) Z: m9 U% q2 V; @+ H
    ( z+ D$ F2 N9 H( N, M' y
    ( ]. L5 S" ]2 J7 V3 x- L
    , ], k  Q# E5 `# p3 s) r$ T
    ' [% h$ H8 M4 N) g/ a* L
    条形码(barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符。常见的条形码是由反射率相差很大的黑条(简称条)和白条(简称空)排成的平行线图案。有关条形码的更多资料参见文[1]。  O: m9 S+ x1 Y) J

    . S* B. U; h* b. l0 Z在日常生活中,我们不可避免地要接触大量的条形码,其中最常见的就是图书证了。而某些同学的图书证经常丢失。此外,某些同学的图书证由于缺乏保护,会频繁出现录入不灵敏现象。于是在谴责图书证的印刷质量之余,动手DIY一张图书证,自己进行质量控制,则可以使其更加灵敏地识别,大大减少进入图书馆的时间,大大缩短借书时刷卡的时间,提高学习和工作效率。图书证中携带关键信息的就是条形码,于是DIY的重点也是如何得到对应的条形码。8 t$ U4 c+ h+ U( s" L

    9 F7 ]- a* C% R3 l3 e" E0 f  A1.某校图书证编码规则
    9 x+ s2 Q7 S" b% w! [" U3 j$ g# p7 q# D: t/ C2 @! _2 z: @' Z
    由于所使用的编码方式不同,在了解常用编码规则(参见Internet)的基础上,必须通过对特定图书证的观察才可得出其特殊的编码规则。本文通过,对一种常见的图书证的观察,得出其编码规则如下:
    0 l# d- ^: F0 b2 ~2 i$ S" j
    ' M% E6 b+ N2 A①该条形码部分由两种不同宽度的黑白条组成,是一种类code39编码方式;我们假设宽条代表1,窄条代表0;并假设在最后多一个白色宽条,以便使黑白条码的个数相等,方便程序处理。
      S9 I& Q; h& w( Z+ @
    * D: {! m2 q( ~. U②图书证的白色条码都是一样的,分为以下三部分:4 y; |0 Z* q( v6 Z) G0 p8 F

    0 y+ z8 T+ x# }& c1)起始部分:10001;2)数据部分:13个01001;3)终止部分:10001,与起始码一致。
    , U9 X& H; F5 K! U
    , v4 p0 R7 \8 J6 R; f( K4 V③图书证的黑色条码是携带学号信息的关键,分为以下三部分:9 a( `" k9 y; F3 S4 k- d/ a

    ! \# h% G4 P) D1)起始部分:00110;
    7 |- [+ f2 Y- {/ f! a; V/ u: c0 H8 e4 M9 h" q5 I
    2)中间部分:13个数字(即学号12位+图书证序号),每个数字对应的代码如表一所示; " M: |% q- M; x+ I2 [
    + A& L% _' s* w% Z
    表一 某校图书证号每个数字对应的代码
    3 T" t3 L* o+ u. Z! {% m& `/ }- D0 l( _8 p. y
    数字 代码 代码数字来源 数字 代码 代码数字来源 % |( n6 C1 F9 F" y1 b
    1 10001  1:0001                     6 01100 6:0110 % m8 U+ i' l4 N
    2 01001 2:0010                     7 00011 8:1000 . E2 Q, r( g6 E( N
    3 11000 3:0011                     8 10010 9:1001
    ; z  z" e# |9 W9 d# P& ^! s* G' t4 00101 4:0100                     9 01010 10:1010 5 P+ g& ~5 Z4 [" m' |3 n+ l& }: E
    5 10100 5:0101                     0 00110 12:1100                      y+ Y: O' T1 P
    * O5 P( M; _5 P5 _
    说明:每个数字由五个黑条组成,两宽三窄;代码前四位是数字的8421码的倒序,由于最多只能出现两个宽条,于是一次选取最多只出现两个1的8421码作为序号的代码;代码的最后一位用以校验,凑齐“两宽三窄”。* l/ I; ]* n% b  `
    ; [" F$ E/ g+ Y& ~& R
    3)终止部分:00110,与起始部分以及数字0的代码都一致。4 c* x: P% ]6 N; p$ m% w

    . c2 v# J# j# E+ F6 V$ W/ s. n2.条形码的制作过程
    8 h6 k1 F/ k% F4 M' q
    / x$ W/ _1 E: L; e- s3 y黑色和白色可以用二值图像来表示,于是我们的关键是如何得到与条形码对应的二维矩阵。
    * ~3 N0 k# k% I1 L3 O: }$ R: b" ~
    0 z& q1 V1 b8 S- A& O定义窄条即代码0的像素宽度为w,宽条即代码1的像素宽度为2w(一般取w=1即可);定义二维矩阵在黑色像素点处值是0,在白色像素点处值是1。此立即上得出与学号对应的条形码的二值图像的矩阵。/ Y. y$ a. C% A1 Q6 a
    , U- c: @6 x' w& b& c
    条形码效果如图所示(程序代码见附件所示)。+ A8 a+ u7 ^/ c4 C
    1.png
    : O+ T3 Z  ]1 H) @图一 所得条形码效果图
    ; C+ |6 {7 u/ F1 x( I3 |4 j7 L; i& P0 i
    3.打印与测试3 e. @2 }; }8 W; y0 u
      }/ i$ O8 V: v4 o
    有的制造商在批量打印图书证时不太用心,加上可能设备老旧,所以难免会使某些同学的图书证出现杂纹等印刷质量问题。
    : Z4 \0 x3 i" f& E3 a0 n1 b8 O# t! y% I" T& W) p3 ?1 e3 V
    因此,在DIY的过程中,尽量采用分辨率较高的打印机。对于分辨率较低的打印机,通过修改程序,扩大条形码的宽度,也可打印出质量上乘的条形码(本文测试时采用HP Color LaserJet 2820彩色激光一体机)。
    7 `  d1 \# p# z& K5 z
    - k& d1 x2 C( P* M& T; w为了方便进行测试,本文打印出不同大小的条形码。& b! s; B7 w/ X
    / t, l# X$ M/ Y" @& _
    测试一:将其用透明胶带粘在硬纸板上。
    9 p$ N4 @  j! F  f
    $ u& [2 ?2 M2 c# H# ~* n( p& `结果令人遗憾,读卡机根本不识别。通过与图书证比较发现:
    % q0 H0 G/ [# V8 k# h  u0 s# c+ j( M9 C' D
    图书证正面的塑胶反射能力很弱,在灯光下几乎看不到灯在其上的虚像;而透明胶带的反射能力很强,可以地清楚灯地虚像。4 O) M' J0 ?5 ?% i( I

    ' f% v& n4 E8 z, P4 m  [! z测试二:找到原因后进行,将与原图书证同样的大小的条形码用胶水贴在硬纸片上,结果顺利该校图书馆通过门禁。We are in now!!8 d& N: `* E4 T

    4 {4 Y6 o: B3 c; Z$ j. D效果如图二所示。% ~* e# j. y3 U
    2.png 0 V/ W0 p4 x4 u2 R. K3 T
    图二 打印效果图0 G/ S% `. I  b7 W9 ^
    测试三:用打印出的不同大小的条形码逐一进行测试,只有在一定的大小范围才可以通过测试。这说明了,条形码扫描器(注:本文使用的是全角度扫描器,其通过光学系统产生多条扫描线)是有一定的大小识别范围的。6 n" d' D: ?! H, ^  \5 D
    2 G$ A/ I) E- k. D* O; t
    4.扩展应用, r0 d& b' y3 |$ H: }
    " E) a+ w$ J$ B% v/ `! O, g
    为了达到逼真的效果,我们做出了图书证模板(MATLAB版),该模板根据用户提供的证号、系部和姓名、照片、字体等信息,自动生成可供彩色打印的图书证如图三。
    * m$ D2 u, h+ w 3.png
    * W2 ]& z6 n, S. c3 u1 q4 e图三 可供彩色打印的图书证7 Q2 p0 D# ^( r; f' Y5 k

    - r9 J# K9 u# s0 E( J& ]! k过后,我们会给出相应的网页版、C++版、VB版等等。
    # U( j" D! z# d
    - ^8 n7 l" y( B! j5.关于本例的一些思考
    - A2 {, ^+ t5 l8 J! S6 Z8 P4 C  m+ A; p$ a4 @: d& L# Q$ s: R
    由相关文献,可知条码技术具有以下优点:7 {( N' J8 p: }, y) p- j, [

    5 @4 T: I. I$ K; \  1)、输入速度快; - ?9 n: T% n3 H2 S& C- j

    - |& c2 c5 |$ O6 W  2)、可靠性高;& ~! W5 i# f) p6 L, b7 S

    : i. G5 H& b9 u  3)、采集信息量大;
    9 w0 |% h- V( H+ R: D+ Q8 A; K: T8 o* d- ?- v/ x3 `
      4)、灵活实用;* L# K) U* w+ [( ]! u  ~- |! |
    * F/ D5 o4 ^4 D1 }1 U" ]+ e. G! S! r6 L
    5)、条码标签易于制作
    7 w: d- m& p5 C7 a7 j
      e6 _) V; Z, E/ i* B6)、识别设备操作容易,不需要特殊培训;
    - e0 I3 M% I8 o3 D/ G$ t7 N+ G# L) [0 o: G& K' g' l- p* G
    7)、设备也相对便宜。, z( ^" R6 x0 F" H9 v! }
    " }8 D, ?2 a1 r) _- q- l% i
    因此,在平时可以自己构造的加密的编码规则,利用现成的条形码扫描器,可以很快实现特定功能的组建嵌入式的或基于PC的条形码识别系统。
    ( E, c$ e$ M8 j2 c3 k
    5 `0 M0 u; D: F$ f  \/ n6 j由本文看,尽管一维条形码在各个领域获得了广泛的应用,但其安全性值得商榷。于是,在安全性要求较高或者要求条形码携带更多信息的领域,人们普遍采用二维码。常见的二维码如图四所示(更多资料参照文[2])。
    ! E1 }4 z- r/ s6 y7 O) d8 C 4.png
    : I& i* N5 [. K# Q3 f( O图四:常见的二维码0 S: [; j9 J, _; O& b

      {# T( `( f4 F* N1 o6 x( }' l/ w6.免责声明与注意事项* t" M8 y0 `; B# {3 ^3 e
    6 A# R/ c5 a0 p/ r: [# A
    版权所有,翻版必究。
      h/ C/ M/ @& E; h. }" W; S1 h6 L( a! B  w( n
    技术在于交流。本文旨在交流条形码制作技术,并为个人制作提供质量较为上乘的图书证的方法,非经相关方面授权,严禁用于商业用途。有不法分子由此牟利而产生的法律责任,与本人无关。
    4 a$ a/ k. q, \0 u4 ^4 J8 X, R1 G  r
    任何单位或个人认为本文可能涉嫌侵犯其合法权益,应向本文作者提出书面权利通知,并提供身份证明、权属证明及详细侵权情况证明。作者在收到相关法律文件后,将会依法尽快删除本文中违反法律的内容。 # q; e9 p6 Z$ v# R9 ^  c

    9 F2 Y  h+ e0 c7.
    2 F' l6 k7 i5 m1 |参考文献
    7 J( V* G5 n' h- @
    0 z$ p0 e4 Z1 `) ^[1]条形码—百度百科http://baike.baidu.com/view/13740.htm[2010-09-25]6 X! p+ X, d/ U
    ! }1 M( B2 ]+ p2 X$ }2 s' C& n+ [
    [2]二维码—百度百科http://baike.baidu.com/view/132241.htm[2010-09-25]/ k' r/ i. I9 I9 K. N

    . `! v- ?9 T% `4 h3 K$ o3 ^  l( [- B8.
    4 x$ H" ^" y% j/ Q2 x附录
    * l% D$ H& Z  G) L; t% e& @# o# [  ~* \- Y5 p* y7 m
    相应的MATLAB程序代码如下(该程序经过简单修改,可以写成函数的形式,更方便地进行各种编码规则的条形码的生成):
    9 o& W* |" g/ \
    . A) V0 R0 M3 M* a%barcode.m8 j; |# A7 F; F% d% m9 @9 p/ X

    3 u! J9 {( P. @3 M" j, ^3 X7 i%生成学号a对应的条形码. T' B3 i& r* t) A6 j  L9 K1 ~- {+ _

    ( p( b( @) c# D4 Z: W1 V%2011/09/25 13:24 BY小谷同学
    ) O7 s, e# T4 @, R: ~  c/ v7 `9 @# p  N7 t7 v+ U6 F/ K+ c: k( b
    a='1234567890123';%学号,自行更改
    ; i  Z8 q4 {+ T+ p/ f# V! c" W
    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;4 u. }* o8 B( [. A! g) J6 j5 B

    + n: P- n1 j' K0,1,1,0,0;0,0,0,1,1;1,0,0,1,0;0,1,0,1,0;0,0,1,1,0];%数字编码& d1 \2 S" c3 s& A

    % M$ l+ ]/ R# @White_num=[0,1,0,0,1];%插入符的编码
    - `0 U: E% C2 }
    4 x% {$ d8 g' A9 ~/ Z%Black_SE='00110';! m! q  j% m- @

    $ `* w, t+ p& P% [. m9 R%White_SE='10001';White_M='01001';, K; ?2 Y. f4 R/ ]. Q) n% [: }

    ! ?8 H# m5 G3 Z% \! g5 u) ^barheight=30;%定义条形码的高度) G& @0 T+ W5 m# ]

    ) p* N7 s% [9 z7 lbarwidth=1;%定义条形码的像素宽度( X7 r5 ^( G! D" \
    $ W, ?8 y/ W: E2 e9 z1 c+ T6 ?
    % n" X7 V! k% b
    %可以对特定长度的输入进行控制,本文规定长度为13
    : v7 ?8 T  P1 P
    " ?- r' H4 E. a6 Z4 C; dif length(a)~=13- p: J" E# a  C7 F, i
    9 U$ u) e; C3 Q! p- c7 r& M

    9 K. M/ t) _1 n- ~: Gerror('图书证必须有13个数字');
    * B( h8 {0 b4 x! e3 I: v1 I6 g1 p& C" v- _4 i7 O: Y
    end
    ' M% V: V- L% |% U6 g+ R& ~
    % b# S/ h) X) F4 m  H" z2 K- c3 v9 T# ]7 U" k& ~1 [; G
    barcode_SE=[0,1,1,0,1,0,0,1,0,0,1,0,1,1];
    . ]5 I+ @' Y7 e7 D7 n8 _2 l2 D2 H  k( m7 E8 e/ X
    %为方便,直接人工得出起始与终止部分的条形码/ h* x/ _1 [# w' Q& G" ^

    8 L/ U5 L2 [7 S* w& Q* E% \; p%也可以由程序生成.
    9 Q! a" d, A: y8 T& h) l+ d/ v
    ; `" r7 J. C! W2 |0 c/ Vtotal=length(a)*(7+7);. M  K/ h5 c' A  h. ^1 _+ V% h  n

    , u& W  B6 K: p; b7 m%条形码的总像素宽) B; I2 ^( S+ t. |' c( I

    ; `4 V! z- f% Y  \  p%也可以不用求,因MATLAB提供的均是动态数组% H2 e7 l! Y6 x0 N' z( B! _( ]

    5 T5 D! S6 P: W3 J9 U& W) Hs=1;%计数,记录8 T# A8 i1 q, U

    % `0 F( F( \! X6 c8 d& W0 w5 S' M4 F
    %由于利用for语句容易出现不可预料的错误
    $ S' _8 K: |4 t, l3 e9 `+ S5 J3 T; @( Y) N- {* M3 q, ]; G
    %大部分是数组的行标与列标的调用问题,于是采用while循环9 a- {! ~0 `/ i' w& A+ _6 n: T

    " _5 w# |. m( b; E) v3 r  Z# D%嵌套循环,得出数据部分4 z  K! u/ q2 a- l

    / o% w; F' v2 o5 U' |m=1;; q% g1 b8 [; T1 y1 P% G9 X

    # N! D" _+ J* ]while m<14 8 M9 N( C2 v1 M6 C* q

    7 X. p7 {7 L% B/ O6 H1 K3 z3 E& Y) ?  @' S/ Y- x  y# E( E) u. d
    if a(m)=='0';
    & P" N! P. {( W+ I
    ( L+ A# [/ N1 |- v$ q' ]% e- B/ Z; Z; k
    t=10;
    5 p+ {7 F& ~" a1 h
    . b1 Y7 t- j( X# n3 b! R
    ) p, {. l- D4 J7 O%若为数字零,应该调用的下标是10
    / g* H: Q8 Y& e. w0 ~' Q* P6 Z5 d6 F/ b

    ( @: {6 x% U4 _/ Kelse+ J- r8 h/ p4 u; ^) a( G
    7 B  r9 H! [4 t) p. n- I

    2 B( U' c- ^7 o' E! ^3 T" j& @% X# e. xt=double(a(m)-48);5 R8 ^8 c- e# Z& I9 V# I% S4 v! U

    ; q- x0 M, K; Z' H; U%由于输入是ascii字符,转换为整数需要减去30H,即485 z: z" K  w5 S

    . P6 m' N" y+ _# ~: Z& [' P+ N2 [8 x; D+ Y, K( c! }
    end6 k7 m' n! t2 i( z8 y! _0 T

    + r# m$ K  h1 _/ w% ?! m+ x
    3 ~" u4 e" O1 ]1 P! Pn=1;%同样的while循环
    1 ]& L4 M# O+ M% J- s" Q' g: B3 u7 A+ C
    ' S9 O, r( e5 s* v+ P& i9 O
    while n<6
    4 |5 V3 Z# N; Q! n- I) E( y) y' t7 g$ u0 C! B
    8 Y8 @3 l, x3 o* I6 V0 V
    if Black_num(t,n)==0) n: g/ w( A: r2 N: C

    % G* \" y/ B# J
    2 X: @- V8 z! U1 Pbarcode_M(s)=0;
    . g3 t9 ]; `$ f4 D% v, ]3 p, b4 {% U+ c- Z2 r
    5 h) s3 ]$ X# L/ P. v8 [* l. A
    s=s+1;
      t2 q7 b2 k) J. U" E+ U2 m; A/ ~) N2 F* G

    ( S/ [. ?- P& d. S( F1 y/ P! Q1 f# felse
    " W. z+ G' t1 N4 S' x) }9 o6 `: v5 |, z# r- S- X# [8 X) ^3 F
      H+ H) d) U, }4 u
    barcode_M([s,s+1])=[0,0];
    ' `9 p  p# y# G0 ?% y: H9 T4 C, w% l) t. Q  s% i

    . m- g2 ^0 Y% w: Y2 c( W1 }" |s=s+2;
    8 i# O- y1 m0 v6 y4 [, O! b2 O; H4 v9 {( w# L

    + \) L$ R* X& B1 U7 i9 jend7 I2 n, _  n9 J" O9 k
    ( ?, P% r' _4 E! Q; K" ^! M

    ) L# `* t" c" D# i; s% r, @: A2 L, rif White_num(n)==0
    . z7 K' Y8 [: {+ r. t  C9 a2 u/ i2 v
    , G" z) c* p1 [, l
    barcode_M(s)=1;6 X7 V7 A4 O0 x8 \0 Z
    4 T  R+ f, f! B

    4 b- D1 K" J1 b; \s=s+1;
    2 {- j& [8 u& ~) D: s
    / {* C6 F2 h$ Y$ N$ i9 R" t! L" S1 a  v/ m( T, t
    else
    ! x) l- D. l7 V" z$ u3 Q  N4 _7 N5 V  n" L/ x* W9 m

    % n5 Z* t4 a8 Mbarcode_M([s,s+1])=[1,1];. T8 r+ Y# F7 [( l$ W9 T

    ' H* G3 |7 R" j  f4 _
    1 l+ P" H, @) W  N) O2 Js=s+2;
    - d+ h% E6 m) Y: M, O4 [% P8 s8 v, l; I# ]4 S+ d- x) ^4 |

    * C9 R: `9 N7 u/ c1 t* C$ [end$ `" v( R) f. C% t* E

    5 e+ p. R$ ^  B" v8 g
    0 l7 p/ S/ B" [7 Q; j, t! qn=n+1;
    ) J2 P. u4 m- C3 f- ?5 ]8 U7 j. o6 N/ q7 r4 i- U, o1 g* ?
    " [& I0 O; m' u' a% G, v: B
    end! b9 c2 }! O$ {) t. c4 |( E. B: l
      b1 E' y8 f" g* A$ m
    m=m+1;/ Q  `! v+ h; G' \

    ! q" y# s9 K4 V7 h: H9 ?- ?. eend$ N% j# A$ h7 h8 i2 A
    , p* c2 l+ |% Y
    + ~6 ~3 e& k2 T5 U8 D; U+ E
    bcode=ones(barheight,1)*[barcode_SE,barcode_M,barcode_SE];: u, S6 O6 a& _) h- q3 S4 \: C

    ) a" y( L2 J- D3 v% v%将一位矩阵拉宽,生成给定高度的条形码对应的二值图像的矩阵9 q$ D" b" }1 d
    , s8 Q* O  M$ x6 o3 q
    bcode=bcode==1;%将数组转换为逻辑数组(Logic Array)
    . H) C/ @" C8 U5 F2 R
    9 ?4 J, I; [' Yimshow(bcode)%显示所得到得条形码
    / _  e* U7 F8 d/ N! s0 W
    & Z% ~4 T& ^2 |) P4 V$ u2 y%然后可以自行存贮得到的条形码
    # g7 I8 h5 n. z3 p! e- ~+ G& H- x! `0 o) b9 d
    %然后用PS等工具得出具有自己特色图书证啦: h; Z0 n, f* s0 b
    ' ~- X- \( i) v; g+ Q
    ) f9 \; ^/ Q, A2 A4 q
    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! 代码
    很强大啊,. u4 A" N  f$ i5 I. @) E5 l
    可惜首先我联想到的是可以用来制作假的书本条形码,用于还不见了的书,,我这是在犯罪吧?
    回复

    使用道具 举报

    4

    主题

    2

    听众

    664

    积分

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

    [LV.5]常住居民I

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

    群组数学建模培训课堂1

    群组Matlab讨论组

    群组数学建摸协会

    freedomfox 发表于 2011-9-29 20:36
    ! ?/ \* ~0 m* [: I! l0 k很强大啊,2 @/ e) n/ T& x+ I
    可惜首先我联想到的是可以用来制作假的书本条形码,用于还不见了的书,,我这是在犯罪吧?{:3_ ...
    ( A) m: W( C0 v& |2 ~% c& F3 }
    可以,不过你的学校肯定有记录,一旦发现,后果很严重的;
    ( I/ U5 r  u4 C( `4 w2 B/ J目前我想到是:
      q$ a3 ]( ]+ w% I一、去周围学校的图书馆。- a- v7 e2 i; W0 e5 P
    二、自己丢的图书证自己做一个一模一样的来。3 ^4 H8 e5 }4 O% o5 s4 |% F& c
    三、将图片弄到手机上,然后用手机刷进图书馆,吸引眼球& b) M, r" J3 Q, b) O7 f# o& f
    四、将来毕业再回学校,再做一个图书证进图书馆- T- P( H; y- U5 I
    回复

    使用道具 举报

    书呆子 实名认证       

    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-8-17 00:55 , Processed in 0.532659 second(s), 86 queries .

    回顶部