|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
程序实现文字转化成图片
3 j5 c2 V8 H7 O; crgb三通道中,R通道存放文本信息,G通道产生中心涣散圆形,B通道产生全图小涣散圆形% ~1 \" t0 b) ]8 Y. p
主要应用的是unicode2native指令,非加密转换# a, x2 G. C9 o
% h& P6 I8 G5 E) v
( ^0 F3 `# x& Y. e% n9 ], o" c
9 {3 C) b: P: x ?! G
3 y: ~$ q, o+ [function word2picmain()! j6 P0 b/ `# V# U
%程序实现文字转化成图片
& J( Y. s0 m# O! K, H K ^%%//////////////////////////////////////////////////////////////////////1 q6 I" ~! }2 p1 {, l1 t
%rgb三通道中,R通道存放文本信息,G通道产生中心涣散圆形,B通道产生全图小涣散圆形3 T! _$ E8 m5 |0 k
%主要应用的是unicode2native指令,非加密转换% S0 ~- F4 n" J
% k( M/ Q5 v% h0 c9 [4 V! a
%%//////////////////////////////////////////////////////////////////////8 X3 l0 P6 z! M5 M
clc
# m9 Z/ ^& h7 g' ^2 G6 r/ Q1 i! ~clear all& ~- G, h) s; s$ Y. _9 N( C/ j* \
a='七夕节快乐O(∩_∩)O哈哈~';%你想要转换的文字; N/ U" N1 v. k, f5 M' l
b=makepic(a,50,50);
# z4 x f5 C' D) s& A7 `8 `imshow(b)+ e6 G" M6 J9 u$ W& c7 C
imwrite(b,'my.bmp');
) E8 |' u# l. G3 k4 f6 Tmb=double(imread('my.bmp'))/255;%生成的图像是1~255,而matlab归一化成了0~1,所以要换回来4 q* R3 P, S& S
txt=makeword(mb,50,50)
* L. _3 e6 f! U% K `; lend8 V: _* y4 w/ b) }: F
%%//////////////////////////////////////////////////////////////////////
" C7 _' K W0 k1 Z9 yfunction =makepic(txt,cx,cy)
7 T0 q' Y( |7 E: C%[cx,cy]是图片中存放文本数据长度信息位置坐标" { @3 O1 A2 H! h/ s! m
a=txt;3 x6 r, N5 W* F. g* c2 V
ca=unicode2native(a,'UTF-16BE');1 ]5 Z9 ~6 ^+ X4 o$ K0 p
b=zeros(100,100,3);
1 ~) K3 k- _) O8 I, s' i3 q' Xnum=size(ca,2);
7 F3 _) j! Y% x% \st=0;9 v& I6 C/ e! J
for i=1:100' F( p4 W9 R5 L5 N
for j=1:100
) E8 g, u0 ?, s3 r% I" a Z sp=ceil(mod(st,num))+1; 6 l) B2 m/ @* i- A s1 ?: _
b(i,j,1)=double(ca(sp))/255;& C. O" V% s) s& d( Q, W. v1 a
b(i,j,2)=1-((i-50)^2+(j-50)^2)/5000;6 C1 s5 F' ^' |2 x4 J8 I! m, {5 u
rcx=ceil(i/8)*8-4;
]7 ^1 Z+ V! f- j9 T+ K rcy=ceil(j/8)*8-4;0 T. O/ @, Q- d9 p/ B
b(i,j,3)=(((i-rcx)^2+(j-rcy)^2)/32);
: K) ~$ L9 E; q st=st+1;9 j% P$ N3 e- O; C# G2 z/ a. l* T4 {
end9 ]1 ^6 C; {! R8 t
end7 e* V+ A5 I/ f4 L5 x5 _
b(cx,cy,2)=1-(ceil(num/100)-1)/10;" [) f8 A$ M ^2 C
b(cx,cy,3)=1-mod(num,100)/100;2 f7 z- d! n' B( N5 Z
end& K0 G# T7 }& B% v. o* t
2 {, j+ U. ]) j. ?6 W
%%//////////////////////////////////////////////////////////////////////
5 @0 j) k" n3 a- D5 hfunction [txt]=makeword(img,cx,cy)5 H6 R) i2 X& |) |$ z: V
num=uint16((1-img(cx,cy,3))*100+(1-img(cx,cy,2))*100*10)
3 t3 t$ ~9 V6 s: A7 ?lsb=zeros(100,100);
7 H$ q8 @4 W1 ]8 gnsp=[];* U/ e; }1 D$ |$ I& w- \
for i=1:100
. I3 ~2 B8 N& v- o$ x2 b$ Q for j=1:100$ \8 O: X; H* o/ Y2 g4 O
nsp=[nsp img(i,j,1)*255];9 I1 P! l4 g# C' K
end [6 Q3 x$ M" @
end
N# H8 [' t% K- a8 _/ l6 ltxt=native2unicode(nsp(1:num),'UTF-16BE')' s. K. l( [8 }8 S% d
end; w/ T) F6 D- S, {( j9 P
%%//////////////////////////////////////////////////////////////////////! }# P: x! m! Q- L/ A$ F: `# j( `
% a. ?; t" H9 Z( A. w) v7 v
|
|