⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 11.txt

📁 该代码生成碎裂人脸图像
💻 TXT
字号:
%生成碎裂人脸图像
%二〇〇九年一月六日

clear
clc
tic
%模板大小
mMask=32;
nMask=32;
alphaMask=repmat(0,[mMask nMask]);
O=[mMask/2 nMask/2];
sigma=mMask/4;
for i=1:mMask
    for j=1:nMask
        P=[i j];
        R=norm(P-O);
        alpha=exp(-(R/sigma).^2);
        alphaMask(i,j)=alpha;
    end
end
imshow(uint8(255*alphaMask));

%打开目标图像
fileName='PC130924.JPG';
sourceImage=imread(fileName);
[M N temp]=size(sourceImage);
figure
imshow(sourceImage);
sourceImage=double(sourceImage);
%纹理图像来源
path='D:\MECCA\程序编写\研究程序\生成花式图像\照片资料';
currentPath=what;
cd(path);
textureName=dir;
textureNumber=length(textureName)-2;
cd(currentPath.path);


%开始形成花式图像
targetImage=repmat(0,[mMask*M nMask*N 3]);
[mTarget nTarget temp]=size(targetImage);
index=1;
iStart=1;
for i=1:M
    disp(['现在进行到…………' num2str(100*i/M) '%']);
    jStart=1;
    for j=1:N
        %读取纹理
        cd(path);
        textureImage=imread(textureName(index+2).name);
        index=index+1;
        index=mod(index-1,textureNumber)+1;
        cd(currentPath.path);
        
        %处理纹理
        textureImage=imresize(textureImage, [mMask nMask], 'bicubic');
        textureImage=double(textureImage);
        textureImage(:,:,1)=textureImage(:,:,1).*(alphaMask);
        textureImage(:,:,2)=textureImage(:,:,2).*(alphaMask);
        textureImage(:,:,3)=textureImage(:,:,3).*(alphaMask);
        
        %写入纹理
        pixel=sourceImage(i,j,1);
        targetImage(iStart:iStart+mMask-1,jStart:jStart+nMask-1,1)=textureImage(:,:,1)+pixel*(1-alphaMask);
        pixel=sourceImage(i,j,2);
        targetImage(iStart:iStart+mMask-1,jStart:jStart+nMask-1,2)=textureImage(:,:,2)+pixel*(1-alphaMask);
        pixel=sourceImage(i,j,3);
        targetImage(iStart:iStart+mMask-1,jStart:jStart+nMask-1,3)=textureImage(:,:,3)+pixel*(1-alphaMask);

        jStart=jStart+nMask;
    end
    iStart=iStart+mMask;
end

figure
imshow(uint8(targetImage));
imwrite(uint8(targetImage),'花式图像.bmp','bmp');
toc

 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -