|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
程序实现文字转化成图片 5 P' y5 _! j/ ? l
rgb三通道中,R通道存放文本信息,G通道产生中心涣散圆形,B通道产生全图小涣散圆形# G$ {7 w' \( n3 ?: {
主要应用的是unicode2native指令,非加密转换1 K. v* M) ~2 y3 y4 y5 z8 h
+ p) j/ E# Q3 y# ]7 m& Z9 V! u: a
5 e {8 M% [$ I* U/ X2 R: {6 i1 \
* X$ L" h. F2 l4 a6 ^2 V
( Z- J0 f1 i. p& g' zfunction word2picmain()
1 [5 p5 ?2 _1 J%程序实现文字转化成图片
r1 d" T. |% ~7 L: I/ I8 o%%//////////////////////////////////////////////////////////////////////# w& n" Z3 @1 I# u
%rgb三通道中,R通道存放文本信息,G通道产生中心涣散圆形,B通道产生全图小涣散圆形1 U1 y! X$ O5 z& U! d! v0 o7 ~
%主要应用的是unicode2native指令,非加密转换
. E7 B! k2 p/ S3 x8 m5 l4 x! `6 `) e( Y0 I
%%//////////////////////////////////////////////////////////////////////; G! S, Y) M& l! }! t
clc
: T2 P$ u! k7 c# ^, M0 Q5 lclear all9 _+ I1 k8 S7 y; @. Y
a='七夕节快乐O(∩_∩)O哈哈~';%你想要转换的文字
9 \" j. S* P& B- s' X; hb=makepic(a,50,50);
+ g4 x' h0 E f3 B) F' A- nimshow(b)7 |5 I4 d5 m0 l4 s) w! V( Y+ V
imwrite(b,'my.bmp');& [0 W. V% A2 Z% J( h% u, q2 V. e! ?
mb=double(imread('my.bmp'))/255;%生成的图像是1~255,而matlab归一化成了0~1,所以要换回来
" A: ^9 g' {: h+ e5 _txt=makeword(mb,50,50): w0 m5 z5 t' F' F
end
# N. `, I! C8 e/ t6 e1 E0 o%%//////////////////////////////////////////////////////////////////////
, {% u0 v* t! V) a% cfunction =makepic(txt,cx,cy)
- U; M+ h/ I5 G3 J$ J2 f9 |%[cx,cy]是图片中存放文本数据长度信息位置坐标9 N: y+ A( d1 I+ y% ^
a=txt;
9 }! S/ u0 S4 k0 Lca=unicode2native(a,'UTF-16BE');# Q; k+ l6 S0 h/ C: Y6 A0 e7 [
b=zeros(100,100,3);+ Y4 Y6 u E ?6 k1 C! \# ^
num=size(ca,2);
! ~! [" B' w' T/ r: J, o/ Qst=0;
. D: E/ @( z2 b6 n* `for i=1:100
% A' u$ p/ ~: O! Y+ b: v for j=1:100; z& V% P. G7 e4 @
sp=ceil(mod(st,num))+1; 6 s$ r2 i& R4 E8 ~& a
b(i,j,1)=double(ca(sp))/255;) c- V* g! ~7 ?3 I
b(i,j,2)=1-((i-50)^2+(j-50)^2)/5000;* l5 G. R8 u$ ]- h! O# {
rcx=ceil(i/8)*8-4;
/ V! e% g; I- H2 F rcy=ceil(j/8)*8-4;# I) q' U5 |$ f' C
b(i,j,3)=(((i-rcx)^2+(j-rcy)^2)/32);
+ |6 Q- k9 u: r6 K st=st+1;
0 B& ^9 x5 [7 b7 B/ q/ ]& i end: h% U) ?+ r# _* P+ T* _) H
end
, _) A2 J- ^8 ~- ob(cx,cy,2)=1-(ceil(num/100)-1)/10;
: J/ M& F2 D( k8 [. w! b- ]: ^, Zb(cx,cy,3)=1-mod(num,100)/100;( A( D3 F# i- E5 C, X) [: ]
end
% ~" E, F! ?& u( @2 ?3 J* t, ^! t% ? _0 y/ D, a! m
%%//////////////////////////////////////////////////////////////////////
! s" ` S& k; G7 v8 \! A8 c! Qfunction [txt]=makeword(img,cx,cy)
" q; { j( R4 ~& dnum=uint16((1-img(cx,cy,3))*100+(1-img(cx,cy,2))*100*10)' M) x% P2 [. P) A) }. A% Y- t
lsb=zeros(100,100);
# V* W! [1 d) J( {* \' j8 d( w. j; onsp=[];& Z( W b, v' f/ h( I' M g1 G
for i=1:100
_' w$ Z0 r% B4 j% |: g for j=1:100
; p3 F- f- H# F4 @4 ` nsp=[nsp img(i,j,1)*255];) h5 F$ h- F; I- C; R* j1 N
end
9 s$ b; K3 @4 ~) T8 xend
' ?2 q; r0 M$ X: ~' U* {' atxt=native2unicode(nsp(1:num),'UTF-16BE')
) v6 L1 i8 U5 w/ rend
! b; ~2 P6 j3 d* M%%//////////////////////////////////////////////////////////////////////
" U& D# ~' P* C3 F" t- l* }- {4 @+ l
|
|