|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
程序实现文字转化成图片
# C5 _. g# [# h- R9 x7 e- qrgb三通道中,R通道存放文本信息,G通道产生中心涣散圆形,B通道产生全图小涣散圆形
7 F: X: b* a7 Q4 m2 e2 G主要应用的是unicode2native指令,非加密转换' x1 x, j( s) j. o7 c* D
, R+ F; @4 T/ n" l
" Y- {0 P7 ]& M2 b# r/ g
: g7 N2 c8 ]( @( \" }9 ^
$ K2 |; A* b, N8 ~& tfunction word2picmain()2 S1 f, N6 G: V% f: e
%程序实现文字转化成图片
7 C* p$ Y% f- W2 o1 Z' j# l0 N) i1 C%%//////////////////////////////////////////////////////////////////////7 I: ^$ r& A0 ]# b
%rgb三通道中,R通道存放文本信息,G通道产生中心涣散圆形,B通道产生全图小涣散圆形7 v/ C6 ?2 i2 [+ M3 [
%主要应用的是unicode2native指令,非加密转换 P9 e1 V+ \4 D. S9 `) h2 Y
! H; l" ]/ d3 \%%//////////////////////////////////////////////////////////////////////" H# S* m7 M9 C9 ?' j* M
clc& I. o- M- G" `% A3 P H# _! l
clear all
& M3 l7 q( Y$ s& V1 G; Ja='七夕节快乐O(∩_∩)O哈哈~';%你想要转换的文字
! b# w1 t. g& F ?9 u. |b=makepic(a,50,50);" U( K& k1 ~: f* r3 j
imshow(b)
; p7 Z& l' k# u6 wimwrite(b,'my.bmp');
) @3 f M1 ~5 h+ e t9 mmb=double(imread('my.bmp'))/255;%生成的图像是1~255,而matlab归一化成了0~1,所以要换回来
% n' t5 b% @6 A( ?' {txt=makeword(mb,50,50)9 O( f% u% ~' I" j& r, j- g3 e
end. n& \5 ?+ v9 a# d+ j
%%//////////////////////////////////////////////////////////////////////" @% p- e4 S, P) ~# w
function =makepic(txt,cx,cy)
" Y1 r& q" M6 r) b4 L%[cx,cy]是图片中存放文本数据长度信息位置坐标
- |1 v' e1 r+ Y a# ga=txt;
7 ^; _2 d2 x& {( ?( L3 Kca=unicode2native(a,'UTF-16BE');
& y) c4 i0 J. v% Ub=zeros(100,100,3);6 C& u3 {( A% E- C! c0 d) n' p3 `
num=size(ca,2);' B" J5 t' j; Y6 H
st=0;
' z9 f) a8 U/ t+ |" j! ]* yfor i=1:100& r1 l% {6 V+ J% f" n
for j=1:100
( p8 g( c. u7 \4 s: j sp=ceil(mod(st,num))+1;
; T' ~# [7 s: y ~' Q. M4 B! e b(i,j,1)=double(ca(sp))/255;, P. R/ ^- `* m- [$ |$ `
b(i,j,2)=1-((i-50)^2+(j-50)^2)/5000;9 n1 T) r5 R% u8 g/ \+ H
rcx=ceil(i/8)*8-4;
: d1 x. S9 _; a) C+ \& Q% b rcy=ceil(j/8)*8-4;
: ~4 N3 X- q! ] b(i,j,3)=(((i-rcx)^2+(j-rcy)^2)/32);3 j7 j: x3 B E& o9 J* T( s8 `
st=st+1;& l1 ]" {6 p2 K
end
$ Y/ _$ J+ I- o U! g6 H" rend
, Z$ R, F, q" u/ N+ }b(cx,cy,2)=1-(ceil(num/100)-1)/10;, H4 m7 q# q9 _2 |5 b7 \" s4 Y
b(cx,cy,3)=1-mod(num,100)/100;; A% S/ { ^5 g& J& x& H
end
& z+ J& H4 L+ F) _" B* w; y& y1 f" L
%%//////////////////////////////////////////////////////////////////////( a0 W* Q# y6 H# w/ e. _4 c4 e
function [txt]=makeword(img,cx,cy)9 U Z! F0 b. C3 u) V1 H! p/ h. ?
num=uint16((1-img(cx,cy,3))*100+(1-img(cx,cy,2))*100*10)! n! I1 |5 L2 O p
lsb=zeros(100,100);2 M/ {4 m1 x1 z
nsp=[];& |3 M: m c7 |2 A" _, p
for i=1:100
2 n, V0 |' R- ?& x$ O for j=1:100
8 z( d9 b' z8 E Y) n- c nsp=[nsp img(i,j,1)*255];
1 F$ O7 f+ \# o7 a$ r r k5 t end% `' k" U6 z) t
end
, K, Z* U: D1 s' l' \txt=native2unicode(nsp(1:num),'UTF-16BE')! d, s/ V7 A, r, z4 w- N$ F) b
end
Y& k' ?) q) ^1 M: T- }%%//////////////////////////////////////////////////////////////////////4 T; Q+ W9 `2 p
8 o: ]( a [1 T! p, o5 Q |
|