|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
程序实现文字转化成图片 : n2 V# `8 n. K9 s$ y3 F% ^# g
rgb三通道中,R通道存放文本信息,G通道产生中心涣散圆形,B通道产生全图小涣散圆形/ w1 R2 g6 g" z+ a; O3 U
主要应用的是unicode2native指令,非加密转换( _0 O7 ^1 i2 t' Z4 s3 Q1 Y- C* _
Q) G- i+ l: M) T, B) t; T7 ?+ X( }/ g( S8 ~9 q# m; G
5 q5 n/ p5 R. Z% K
8 a7 v$ z. w1 ?- f: @
function word2picmain() @" }7 P7 Q8 n. t: k" M/ W+ `
%程序实现文字转化成图片& X# {4 r: a0 `' w1 z& |
%%//////////////////////////////////////////////////////////////////////. `. o/ G. b" O- ~8 L, u
%rgb三通道中,R通道存放文本信息,G通道产生中心涣散圆形,B通道产生全图小涣散圆形
" l+ j: ?1 f: S, Z7 ~: Z$ J! v%主要应用的是unicode2native指令,非加密转换( ^& K! P1 m1 H3 e/ \* j& }: E2 C7 ~
9 t! U! \! B5 d2 K
%%//////////////////////////////////////////////////////////////////////
I" i4 \8 Q nclc3 U: s$ |: Y9 I& q
clear all
0 V5 Q+ \, |3 F6 z& s) f9 u: na='七夕节快乐O(∩_∩)O哈哈~';%你想要转换的文字0 P; h8 t* n; _! `4 Y# f$ R- T
b=makepic(a,50,50); c. H1 D& G8 v1 d. G
imshow(b)
1 R+ B* s! i$ h" vimwrite(b,'my.bmp');
: u1 ?9 x3 q2 a5 ]8 Gmb=double(imread('my.bmp'))/255;%生成的图像是1~255,而matlab归一化成了0~1,所以要换回来
; @/ U$ ]) E( K+ M# C; Stxt=makeword(mb,50,50)
7 S. U8 I! O6 B0 Q0 Zend
7 S+ E i" [1 Y9 M%%//////////////////////////////////////////////////////////////////////( _' T. Y* m/ g7 R/ z* G( t6 U
function =makepic(txt,cx,cy)
2 A O! D u* ` m%[cx,cy]是图片中存放文本数据长度信息位置坐标! ]% A0 A& Z V# M* k7 M
a=txt;' @+ e8 D) H+ Z7 G- \
ca=unicode2native(a,'UTF-16BE');1 h/ w3 H* k, }4 E2 Z; E8 Q
b=zeros(100,100,3);8 ^5 V3 K! K* w. C. e
num=size(ca,2);
/ h; Y$ C0 V( L+ G7 U5 Ust=0;0 l6 O0 f& q5 _- Y, [/ k0 p0 m) ^
for i=1:100
4 x& C& Q5 t! G l7 N5 ? for j=1:100
' D* f* \( h4 C* {& { sp=ceil(mod(st,num))+1;
' I7 G( p% G. h% C: E b(i,j,1)=double(ca(sp))/255;
2 W0 d% t* V: S( D1 R: y b(i,j,2)=1-((i-50)^2+(j-50)^2)/5000;
4 G* o3 `5 p! j2 G4 o8 [ [ rcx=ceil(i/8)*8-4;" t$ y: T; s6 C w
rcy=ceil(j/8)*8-4;
$ l0 h9 h) t% y+ S: e* `6 C b(i,j,3)=(((i-rcx)^2+(j-rcy)^2)/32);
' |% \5 W% `7 p# O3 E/ J7 z st=st+1;
$ M+ |7 ?# X' \8 l& |# M end
; l2 b8 s$ z7 d& V! Q* gend! I9 U- f) n$ h! W E% w
b(cx,cy,2)=1-(ceil(num/100)-1)/10;2 g; L2 x o% |1 M7 H5 h
b(cx,cy,3)=1-mod(num,100)/100;
. t$ O0 a4 v- I$ }$ p' ?end1 V3 S! A# z' w% K
, o6 s9 M' i, T, G% V2 _, |2 v3 p. L
%%//////////////////////////////////////////////////////////////////////
1 y, g0 }5 z' q4 H7 N6 L gfunction [txt]=makeword(img,cx,cy)" `' N6 W- a7 V2 I- P
num=uint16((1-img(cx,cy,3))*100+(1-img(cx,cy,2))*100*10)* o; S% h' i! [0 ~+ u* H
lsb=zeros(100,100);4 v8 `' S( w! g9 f# Z
nsp=[];
0 J# ^8 w+ H5 n$ F+ D* b0 cfor i=1:100; V9 Z3 I$ B) r2 Q( Y# d5 L
for j=1:100, X6 v' ]/ k" `6 u7 g3 G4 X
nsp=[nsp img(i,j,1)*255];2 ^; H* O7 r8 J2 V
end! q: C; s1 R' M0 _
end
! f. c- y, D7 etxt=native2unicode(nsp(1:num),'UTF-16BE')' P6 P9 A G3 H0 Z
end
0 t. M/ z3 x% L% y%%//////////////////////////////////////////////////////////////////////6 l% J5 z9 Y( I+ t! Z
7 o8 C* ~' V1 Q' V7 S/ F3 J( J
|
|