|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
程序实现文字转化成图片 + j, J8 ]. H2 D/ f6 z; O; h
rgb三通道中,R通道存放文本信息,G通道产生中心涣散圆形,B通道产生全图小涣散圆形
; ^2 h# W' B. K2 \主要应用的是unicode2native指令,非加密转换+ H0 q: m! C. K' y7 s
' d- d& v- D# A9 s U Q0 g
- U7 w6 g7 L: o( p! ?
5 Y$ O& r0 }; j5 I: I' K5 v
, l! \9 P6 j, W/ ^6 ~/ x4 _function word2picmain()/ m) u4 V+ `" o
%程序实现文字转化成图片% p1 z7 D! @; X. e' q; P! g: D
%%//////////////////////////////////////////////////////////////////////. h3 j" a/ W+ ~- s4 v! C8 f
%rgb三通道中,R通道存放文本信息,G通道产生中心涣散圆形,B通道产生全图小涣散圆形! N, P3 j# Q% x
%主要应用的是unicode2native指令,非加密转换
# k8 A4 q& F. P8 d7 z! j# W
' D. {8 |4 t3 d( L0 q0 t%%//////////////////////////////////////////////////////////////////////6 c+ Q# t0 f7 i( i! X0 K
clc
; Q- |5 g# x$ t5 C& V( u \clear all3 [# e5 ?9 `0 G. M" N8 |9 h k" L% F
a='七夕节快乐O(∩_∩)O哈哈~';%你想要转换的文字7 b7 _9 \) q5 H1 R# ^$ f V
b=makepic(a,50,50);% Y& A; ]" D: L5 B( m( v! j+ t3 I! H
imshow(b)
0 o& K* I1 M; c7 ^5 u, S6 [) R8 @" ~' Oimwrite(b,'my.bmp');
. ~1 e+ _, E/ ]% hmb=double(imread('my.bmp'))/255;%生成的图像是1~255,而matlab归一化成了0~1,所以要换回来 G& r4 J2 P3 ?" c- J; ?7 `! [; O
txt=makeword(mb,50,50)4 V9 `2 {! Z% _3 A& }$ t: F
end
* |0 S+ V1 Q' u$ s%%//////////////////////////////////////////////////////////////////////
7 p& B2 B% L* z, ]function =makepic(txt,cx,cy)
" b7 u9 i* k# S; `%[cx,cy]是图片中存放文本数据长度信息位置坐标: H/ _5 J2 N$ [3 Q- W
a=txt;% z' V) Y' O3 X" [, R6 B5 }6 r
ca=unicode2native(a,'UTF-16BE');3 Y$ @5 m' J/ H, i u
b=zeros(100,100,3);/ }6 D0 r1 k( f1 i* J9 W
num=size(ca,2);
# ~6 t& y, r( ust=0;
/ W( g; A$ K- r* Q: q: g- ^for i=1:100+ j: |7 ?8 W0 n9 K1 E0 R$ S' Z
for j=1:100; H& t4 Q' g- `2 \/ g
sp=ceil(mod(st,num))+1; ; T+ R9 t7 H: V% o3 w
b(i,j,1)=double(ca(sp))/255;
7 R. h% B8 U" C1 B' T0 ] b(i,j,2)=1-((i-50)^2+(j-50)^2)/5000;
( k% |& g& g/ `/ F( ]) [( b, u rcx=ceil(i/8)*8-4;
3 |% |/ i b& W3 N( b& A* d rcy=ceil(j/8)*8-4;, k# C' {( u$ A3 Q O! I
b(i,j,3)=(((i-rcx)^2+(j-rcy)^2)/32);" J0 r7 N: W. @6 ]; H
st=st+1;5 I4 D1 ~$ A( M+ I _6 Q `
end" j0 r/ i( K6 _; E* B- l, N
end
: E* W G8 C6 d( V% nb(cx,cy,2)=1-(ceil(num/100)-1)/10;' S/ |3 X- s) K# T
b(cx,cy,3)=1-mod(num,100)/100;7 T; p" z& [$ \! ^0 j. V
end
- b& C! J' i/ ]/ A6 C- e6 m* B9 D+ {5 n. R) E" l
%%//////////////////////////////////////////////////////////////////////2 k5 Z3 E7 J9 E, K+ `
function [txt]=makeword(img,cx,cy), P0 s1 }6 f* a) [, k
num=uint16((1-img(cx,cy,3))*100+(1-img(cx,cy,2))*100*10)7 m% o. _( y, M" _% G1 n$ u
lsb=zeros(100,100);' Y# K) V# q( A5 C F) N
nsp=[];
0 o* P% c7 x' E. v3 q S0 nfor i=1:100
4 ~- ~6 H1 I$ D# O" a for j=1:100* r. k4 d! j* @/ e+ a o G+ I4 U$ A
nsp=[nsp img(i,j,1)*255];7 T! z/ Z) V4 s" b9 x1 Q% k4 G
end
' ]: `" s4 V- I0 g% xend
; [) {) g5 X5 U* Btxt=native2unicode(nsp(1:num),'UTF-16BE')
# q& x8 ?! E6 xend) t+ ]) S- c, l' P- k) X4 t
%%/////////////////////////////////////////////////////////////////////// x# R! ?; p& x3 \$ _& U- c3 ?
/ S! b' u0 k' ~* ]. g7 ^
|
|