|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
程序实现文字转化成图片
; W/ }" Z& l3 F4 p* ?rgb三通道中,R通道存放文本信息,G通道产生中心涣散圆形,B通道产生全图小涣散圆形3 j9 w2 l4 ~3 r0 j
主要应用的是unicode2native指令,非加密转换
: [) L- S' r% o. Z. B: h- ?/ O
, O4 |5 I( D. b1 v
4 M4 P5 E) n; g, ~# I
: X$ _7 |# |2 x: d" w0 K) ^$ M% K) m6 d- ~( ?2 f- M: f# U; ]
function word2picmain()) h6 Y' |6 @% u* A. z
%程序实现文字转化成图片
2 E5 m& G2 G, ^5 W6 x3 C%%//////////////////////////////////////////////////////////////////////
/ q" A8 u( j5 v%rgb三通道中,R通道存放文本信息,G通道产生中心涣散圆形,B通道产生全图小涣散圆形
2 L# N, d# p3 k! r* N%主要应用的是unicode2native指令,非加密转换
" o& ~2 J- z; n
1 v* j0 v" a5 f%%//////////////////////////////////////////////////////////////////////5 }! F3 l8 t1 ~0 _& {
clc
: M- v- Z* }! E- I, mclear all$ b1 j6 e2 K8 _+ a
a='七夕节快乐O(∩_∩)O哈哈~';%你想要转换的文字
" ]$ i% a6 \! I" c, ?b=makepic(a,50,50);
8 ]5 g! a+ a3 Z9 l( r6 T3 h; `imshow(b)
. | a$ y, C/ i3 Himwrite(b,'my.bmp');
* m( F/ v- U+ smb=double(imread('my.bmp'))/255;%生成的图像是1~255,而matlab归一化成了0~1,所以要换回来
* {$ g) F8 D6 }0 \4 y8 y- {3 f. htxt=makeword(mb,50,50)
- Y8 f) w; P1 M3 send
3 d7 y9 M1 o8 u9 P& c, ]* X%%//////////////////////////////////////////////////////////////////////
+ y- g0 L) C+ c* N- G" t( lfunction =makepic(txt,cx,cy)
$ P- S. e( E9 K! q: x Z. i4 e%[cx,cy]是图片中存放文本数据长度信息位置坐标) z, H J6 h R% ^* g
a=txt;0 d* b1 T G) Z9 D9 T2 W0 L# m2 `
ca=unicode2native(a,'UTF-16BE');& X% L0 }9 z! J" ~6 n6 D
b=zeros(100,100,3);5 E4 j/ k- F: y3 }5 t2 \) c
num=size(ca,2);
0 X2 B* W n2 F- t8 l% d. rst=0;
4 R5 G% d. O& y$ N* gfor i=1:100
' N2 ^6 B; R s for j=1:100
; w9 @3 v! F5 c! _0 `* ?# l8 ~3 ]- ` sp=ceil(mod(st,num))+1;
2 f3 \, [" M/ p+ C$ ?8 h b(i,j,1)=double(ca(sp))/255;& E8 S, P+ |8 [. `7 s
b(i,j,2)=1-((i-50)^2+(j-50)^2)/5000;
- O a6 |* o+ o2 Z% B+ y8 b, B( \/ e rcx=ceil(i/8)*8-4;1 `6 R8 H1 T( d" i0 N3 e
rcy=ceil(j/8)*8-4;
/ p' _: c9 m( C( R) C% c b(i,j,3)=(((i-rcx)^2+(j-rcy)^2)/32);. |# c8 n8 s8 z) \: x; x v* H# u
st=st+1;
7 ^2 t; q* E9 t9 e' D end
5 V+ g Z% S4 L! e2 Pend/ A" |/ E7 v9 c2 {# L1 g
b(cx,cy,2)=1-(ceil(num/100)-1)/10;
' q. p) Z( r* o. a# rb(cx,cy,3)=1-mod(num,100)/100;7 y9 S" ?! K- _/ N6 i2 o0 s8 l" g) d
end+ V4 n/ _6 ~, P/ l- q9 x
% o# D1 _9 s5 d%%//////////////////////////////////////////////////////////////////////3 m# B' J$ E; h; p' F4 Y
function [txt]=makeword(img,cx,cy)
& p1 @8 z9 @* X3 @num=uint16((1-img(cx,cy,3))*100+(1-img(cx,cy,2))*100*10)
) ` h4 o0 H; N3 W) Klsb=zeros(100,100);
1 t4 Z4 w1 ?+ ^nsp=[]; l$ X. W4 t% D. V j" r
for i=1:100
- y1 x3 w3 m# y( i! m ^2 h$ Z for j=1:100
. @: n- K+ d5 v nsp=[nsp img(i,j,1)*255];3 i9 B; c4 l7 z
end: F' G/ b0 m8 b v% j
end
8 `! {! k( `0 Q$ \' ktxt=native2unicode(nsp(1:num),'UTF-16BE')
+ l3 @8 N0 H9 T! o% x9 Y+ ~, M: Rend% M% b* U" i' I6 q: f2 y* W
%%//////////////////////////////////////////////////////////////////////
0 S" x7 }# a! ^% K' b) O, H U
6 [4 K' y( L+ t @( q0 e& ~ |
|