|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
程序实现文字转化成图片
/ X* a8 u- | Z4 g# r) ]rgb三通道中,R通道存放文本信息,G通道产生中心涣散圆形,B通道产生全图小涣散圆形( B( z( I( C9 O8 v8 \( N
主要应用的是unicode2native指令,非加密转换' a' K0 u$ f" x0 P& J
. s% F' I& N* `" I o, O/ @+ M
& g; }' Y# V+ V4 [
7 }& t# W X, g5 o- {( t2 s8 U3 W, s+ Y- w" F
function word2picmain()3 H) {5 b/ a0 Q" s
%程序实现文字转化成图片
. t2 C7 s) m; p6 A0 P%%//////////////////////////////////////////////////////////////////////
8 X& q( K- T' K: s! z' Q4 ^%rgb三通道中,R通道存放文本信息,G通道产生中心涣散圆形,B通道产生全图小涣散圆形
8 Y" u/ v( r4 @3 G; Q%主要应用的是unicode2native指令,非加密转换: C) e- j8 @- i: K L
; C( Y5 m8 N7 S( R%%//////////////////////////////////////////////////////////////////////
! F0 g* t- t; e! u- S: _" |3 Eclc
: u+ z! a/ v" J; W4 Lclear all
* g r5 o& H% ]4 ]& k* m" Ba='七夕节快乐O(∩_∩)O哈哈~';%你想要转换的文字
; ?& o6 X% k% C4 r# u! ~8 P1 Qb=makepic(a,50,50);
( S0 V6 h1 F9 Q9 t6 qimshow(b)- U) I4 P6 E2 D% Z5 H0 S4 C6 A/ g
imwrite(b,'my.bmp');
: R7 E" w, N+ kmb=double(imread('my.bmp'))/255;%生成的图像是1~255,而matlab归一化成了0~1,所以要换回来
; m! {1 w9 s- A& X! ~+ p, ytxt=makeword(mb,50,50)6 E/ W$ {- l4 T0 O6 q$ O: @9 e
end" G! M2 I) R* Q5 }6 d
%%//////////////////////////////////////////////////////////////////////8 U: A$ u6 \8 {5 K2 `
function =makepic(txt,cx,cy)
/ f- V O8 K5 w( E M, g1 N%[cx,cy]是图片中存放文本数据长度信息位置坐标
- g5 U$ K: a5 N6 I( w. Ya=txt;
( D% x& f. E$ W6 l% `7 a7 w+ zca=unicode2native(a,'UTF-16BE');
+ r8 ^% A/ ?) cb=zeros(100,100,3);' B; x1 b0 v0 ^; a* c% u$ G' ^) [
num=size(ca,2);" d# B5 C( @6 h4 X% n) }( Z
st=0;, q. a" j& F/ Q% c* p, o9 S% Q
for i=1:100# J' Z/ V( J8 \* k" d$ L1 A2 q
for j=1:100
5 a! y o( ~5 C- y j4 ]0 | sp=ceil(mod(st,num))+1;
$ R" @, q9 v, }9 B: v' j b(i,j,1)=double(ca(sp))/255;: p7 H; V/ w F8 d: j/ Q5 `3 O
b(i,j,2)=1-((i-50)^2+(j-50)^2)/5000;) V- A+ F# p. ^. E# D
rcx=ceil(i/8)*8-4;* R3 ^: `$ K' o' F ]
rcy=ceil(j/8)*8-4;+ Q1 r$ G* K( y; [+ o( a/ \
b(i,j,3)=(((i-rcx)^2+(j-rcy)^2)/32);) j8 s/ [2 m) o
st=st+1;
+ P- ~0 D5 i- n/ f& e: ]6 b5 d$ Q; o. W# ` end
9 _( y1 C3 t8 i; v; r+ Hend g- a2 E' q; I0 M+ U& O% \% e
b(cx,cy,2)=1-(ceil(num/100)-1)/10;* {9 N8 h3 Y' c' v! b! R& W
b(cx,cy,3)=1-mod(num,100)/100;
& j8 L3 O3 Z4 u4 B2 R8 xend* m0 t; O( _, L& ~
, I; T& x7 a. |%%//////////////////////////////////////////////////////////////////////
( L5 F' u* A2 i3 w9 N$ j" xfunction [txt]=makeword(img,cx,cy)6 O0 {: N2 S! ]& E5 u' c
num=uint16((1-img(cx,cy,3))*100+(1-img(cx,cy,2))*100*10)1 f1 k5 z: d9 R- H8 a3 J2 Q- c
lsb=zeros(100,100);% c0 T$ r8 P: M8 O' G+ h) h( @
nsp=[];
) W; N( R# I; Vfor i=1:100# b$ b9 J+ U8 u2 t4 ^* j
for j=1:100
5 c) O, B3 ]1 z3 Y0 Y nsp=[nsp img(i,j,1)*255];
- {( m" W! u1 F# X2 Y I- V end( O, r7 R: K) q4 Q; t% I
end. Z2 f1 W2 S w! e
txt=native2unicode(nsp(1:num),'UTF-16BE')2 }( |' _9 h. ^2 K# D4 a
end
9 @7 C9 x( i" \8 r4 U7 k2 X2 _' X: M%%//////////////////////////////////////////////////////////////////////6 C: E N4 a: J" L1 P
& W. A2 R3 ~9 {4 ]. m# ^, i, O |
|