一年生の漢字でグレースケールに: 最近傍法(1-NN)
XX=imread('IMG_20160830_194709.jpg'); size(XX)
YY=0.3.*XX(:,:,1)+0.59.*XX(:,:,2)+0.11*XX(:,:,3);
YY=double(YY)./255; a=15; b=15; D=[];
load('C:\FreeMat\11_7_MojiGa\ZZ.mat'); size(ZZ)
for i=1:217
for j=1:160
Y=YY(a*(i-1)+1:a*i,b*(j-1)+1:b*j);
for k=1:81
D(k)=sum(sum((Y-ZZ(:,:,k)).^2,1),2);
end
[Kyori,I]=min(D); % 1-NN
YY(a*(i-1)+1:a*i,b*(j-1)+1:b*j)=ZZ(:,:,I);
end
end
imwrite(YY,'C:\FreeMat\11_7_MojiGa\MojiGa04.png');
小さなサイズの写真を用いた場合は、漢字がはっきり出ます。
iOS絵文字で描く(MATLAB,FreeMat)
1-NNでカラー画像を作成
YY=imread('IMG_20160830_194709-1.jpg');
a=16; b=15; D=[]; YY=double(YY)./255;
load('C:\FreeMat\11_7_MojiGa\ZZcol.mat');
for i=1:95
for j=1:75
Y=YY(a*(i-1)+1:a*i,b*(j-1)+1:b*j,:);
for k=1:1089
D(k)=sum(sum(sum((Y-ZZ(:,:,:,k)).^2,1),2),3);
end
[Kyori,I]=min(D);
YY(a*(i-1)+1:a*i,b*(j-1)+1:b*j,:)=ZZ(:,:,:,I);
end
end
imwrite(YY,'C:\FreeMat\11_7_MojiGa\MojiGa11.png');
一部を拡大した画像