|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
程序实现文字转化成图片 / d5 h2 l" Z( r# ~: t5 {
rgb三通道中,R通道存放文本信息,G通道产生中心涣散圆形,B通道产生全图小涣散圆形" W; G; Z: \4 Z4 ]7 a/ ?) s
主要应用的是unicode2native指令,非加密转换2 e; z7 p) w8 P
9 j/ _% A8 y2 Q( h p! b! o, e% P8 z* j8 e. ]+ y3 H& N
" n( P1 V/ @* @* _# s0 C. G! f. c: `2 C# S8 k( r* t4 Y4 H% [* F
function word2picmain()* Z4 k& ]9 R- p9 N
%程序实现文字转化成图片
d4 M1 n* d- ]/ g/ y. I%%//////////////////////////////////////////////////////////////////////
' G' j6 J% {% n8 t# P# d& `%rgb三通道中,R通道存放文本信息,G通道产生中心涣散圆形,B通道产生全图小涣散圆形8 G! \4 {0 Q- W0 v3 }, q
%主要应用的是unicode2native指令,非加密转换
$ a5 p, Z* @& t# O. E4 o0 j+ B! A$ q: ~7 [' Z
%%//////////////////////////////////////////////////////////////////////
! s% o) ]: L/ H" ?) T+ fclc
. _; W& N( @1 d9 m& O, I/ j2 Aclear all
$ p1 v1 \# Y; L; a ?. c9 E% wa='七夕节快乐O(∩_∩)O哈哈~';%你想要转换的文字
3 l: _% L' w9 d4 A. u( l8 L( U1 ]# jb=makepic(a,50,50);4 X& S1 o H6 z7 g( u
imshow(b)
0 R- w) y. u; G. N) t6 s; Iimwrite(b,'my.bmp');( C! o/ l) e2 |$ H$ k+ p( p
mb=double(imread('my.bmp'))/255;%生成的图像是1~255,而matlab归一化成了0~1,所以要换回来) d$ U: i% g4 M0 N9 R8 ^" p5 a5 Z# U
txt=makeword(mb,50,50)+ _7 N. M/ ]7 F
end5 i& U' y0 [2 U/ ^7 h( t
%%//////////////////////////////////////////////////////////////////////: @/ @5 s' K" k0 R/ I% x
function =makepic(txt,cx,cy)
( {/ r' p) s9 b/ G1 t2 l% j%[cx,cy]是图片中存放文本数据长度信息位置坐标
! E2 e& M& E- C$ n6 ca=txt;. U- T. _1 R, x
ca=unicode2native(a,'UTF-16BE');
" |8 H, C0 P+ wb=zeros(100,100,3);9 U7 H9 o) k% [: X' }3 E
num=size(ca,2);
9 S, _9 R- `9 g# Q& qst=0;5 ?) u- U7 n- c3 W ?
for i=1:100
8 Y: m: ~/ Q; o9 f for j=1:1000 E5 j m8 o+ |7 T! Z
sp=ceil(mod(st,num))+1;
9 E( Y" B2 j5 c2 u/ s& |8 R6 j b(i,j,1)=double(ca(sp))/255;
8 h2 E& e1 t" ^. {5 [/ L b(i,j,2)=1-((i-50)^2+(j-50)^2)/5000;
; {! ? l9 X8 x' l) u rcx=ceil(i/8)*8-4;
+ l# H$ f8 X' W) b6 t& E: t+ N' L+ W rcy=ceil(j/8)*8-4;
! y' j. V' a' |) @ b(i,j,3)=(((i-rcx)^2+(j-rcy)^2)/32);
+ ~0 o* M" }8 p% r st=st+1;
$ ?! f# R: }$ M( S8 S end
. F) T9 a. @, D: G- l% T9 C1 pend) s3 ~+ E+ S3 V" s, P& p
b(cx,cy,2)=1-(ceil(num/100)-1)/10;# u- }/ c; A, i3 F
b(cx,cy,3)=1-mod(num,100)/100;
w2 p% V* [, u3 Jend
# P% P% f' m; c q% B+ r
% ?& i2 i& g% w%%//////////////////////////////////////////////////////////////////////- ]3 ^3 t. z' X9 @) L9 z# l
function [txt]=makeword(img,cx,cy)
: I1 `" v i+ \2 E& Cnum=uint16((1-img(cx,cy,3))*100+(1-img(cx,cy,2))*100*10)
/ P# C" P3 c; U% d9 i3 J% Ilsb=zeros(100,100);0 |) v7 D4 W. K
nsp=[];
/ ^9 f) `2 w+ {4 Q5 K" d7 ] s6 cfor i=1:100+ L P. R, K9 u: v) }: q
for j=1:100; [$ b, K! P% V2 Z p3 ~! ?* A6 R" r
nsp=[nsp img(i,j,1)*255];6 i- J8 ?. q b( P
end
9 ~5 a* H1 x+ w. _6 L" t/ eend+ H& T3 r5 A- B: E+ F
txt=native2unicode(nsp(1:num),'UTF-16BE')8 s/ g1 U) x [# n* |
end
; P7 Q: B* T# P9 B%%//////////////////////////////////////////////////////////////////////
$ k, Y1 B8 R" W0 x- R7 X4 e" i; I; c- i) X7 m0 K+ G7 D
|
|