|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
程序实现文字转化成图片
/ e. z, Q. T- d w5 A3 [rgb三通道中,R通道存放文本信息,G通道产生中心涣散圆形,B通道产生全图小涣散圆形" U; |1 R9 L# d, H7 q8 W2 B. H: ?
主要应用的是unicode2native指令,非加密转换" u" J- g" g* B8 H+ M2 j5 M5 u [
6 O$ Z; h$ g* U+ p4 [+ @
$ {1 Q& [9 N# Z0 n0 _" p a
1 D5 e# w i# j4 [* R
$ ]9 h# ^7 s+ gfunction word2picmain()
' C% u* p- A4 {8 P8 ~5 a5 e. i8 t%程序实现文字转化成图片/ A! L! W6 O$ h4 ]- n! O8 S' v
%%//////////////////////////////////////////////////////////////////////
- u, q* y4 t2 _) \3 Q%rgb三通道中,R通道存放文本信息,G通道产生中心涣散圆形,B通道产生全图小涣散圆形
4 N2 k8 T( ] s: t( u- C%主要应用的是unicode2native指令,非加密转换
: \# Z1 e- H3 [, C; D, i4 N+ }* O* U& N$ Y
%%//////////////////////////////////////////////////////////////////////
4 d7 ?; Y+ Y+ Z- g6 N3 n+ l# e' eclc1 b7 i7 r+ i6 y, N9 s6 w
clear all
4 i0 u% _' Y7 q, \2 Ua='七夕节快乐O(∩_∩)O哈哈~';%你想要转换的文字 X) [' u3 V' |* [" P& O/ |- x
b=makepic(a,50,50);9 P* S5 f+ P7 e/ J/ U3 ~" t
imshow(b)# Z$ Z2 B) V" L7 n, y% \
imwrite(b,'my.bmp');
7 Y3 i5 S- m' ]" `mb=double(imread('my.bmp'))/255;%生成的图像是1~255,而matlab归一化成了0~1,所以要换回来! Z* [: V7 y& E7 B& X
txt=makeword(mb,50,50)
& ?+ |+ k+ j# f# H; m2 Vend. O' C! O% a7 m# R( O) ]8 m) T4 e
%%//////////////////////////////////////////////////////////////////////( [& x, p! \) h5 a' `
function =makepic(txt,cx,cy)
$ Z7 T! r E* J% W% D& c5 Z%[cx,cy]是图片中存放文本数据长度信息位置坐标, h% a0 K6 s a7 `8 R" k
a=txt;+ t1 F% A, z2 M; J5 p! s/ q% i- o' m
ca=unicode2native(a,'UTF-16BE');
% e+ s& I& `" a0 E7 g' |5 z" J6 mb=zeros(100,100,3);2 j. f* m2 ^% i1 H- @8 ?- }8 L
num=size(ca,2);4 C) q1 j* q$ }# O Q
st=0;7 ]/ Q$ {( ~" Y! a1 s; w4 @
for i=1:100- l, D) r3 h- f( n2 P
for j=1:100
' |* X6 K) V% Z* l" R: y6 i sp=ceil(mod(st,num))+1;
5 n& t& v6 |+ \- b9 t b(i,j,1)=double(ca(sp))/255;" g( u( o/ g; W( B9 N! L) w; w& t
b(i,j,2)=1-((i-50)^2+(j-50)^2)/5000;. g! {$ F/ x% Y2 O$ ]& n1 q
rcx=ceil(i/8)*8-4;$ {& a! ]+ a, X% s: M0 g
rcy=ceil(j/8)*8-4;
4 c% l1 i0 r9 N b(i,j,3)=(((i-rcx)^2+(j-rcy)^2)/32);
, P( d5 [4 N6 L7 y- O st=st+1;' e6 j6 R& k5 m/ ]% E5 a$ g
end
! r* P" O; `; H" S$ jend
: @2 g- r i. R4 ^6 ~" Z; o, I5 ab(cx,cy,2)=1-(ceil(num/100)-1)/10;6 x& s8 {' l$ k
b(cx,cy,3)=1-mod(num,100)/100;
5 B# ]* x3 z& g9 P( }; s. n/ ]end. w6 G/ i) y5 @0 @( @& s
! U) R. ?1 I2 }' Y: E3 `9 Q
%%//////////////////////////////////////////////////////////////////////
( B$ g6 n& u! U7 J' _2 kfunction [txt]=makeword(img,cx,cy)
/ o2 l% W4 m0 ?7 A# o- y5 \num=uint16((1-img(cx,cy,3))*100+(1-img(cx,cy,2))*100*10)
* p! x; o5 z' d/ l5 \3 P& Alsb=zeros(100,100);5 ?8 ?& Q4 ?' v+ v' T
nsp=[]; E5 q1 D! u; h; y
for i=1:100
; ]4 x( o$ s3 |% z for j=1:100$ r6 d/ ~; d5 Z% Y3 o9 \1 ^
nsp=[nsp img(i,j,1)*255];' Q! N, M" X2 A# ~* R/ _
end2 @# |. s+ c0 E" p1 P
end
) I* f' ~0 Y" w: ?9 \& G0 t+ ztxt=native2unicode(nsp(1:num),'UTF-16BE')6 v- R1 t6 g9 V* I3 H5 ~; L$ m4 `
end2 N0 e, C0 o9 z. w( } `# H
%%//////////////////////////////////////////////////////////////////////
2 h! B2 n4 ^% ?5 f* m" z7 }* q2 n" S& {4 Y- _3 h o, Q# D. e
|
|