Matlab生成《寻找唐可可》
前几天寻找唐可可的图大火,随手用matlab摸了个
依观众要求,此处放出代码
具体视频见https://www.bilibili.com/video/BV1ur4y1Q7tc?spm_id_from=333.999.0.0
文章目录
运行环境
matlab2018b代码与素材
pic_line=0;pic_length=20;
pic_line=pic_line*2+10;
pic4=pic3(1:150,11:85,1:3);
tkk_pos=uint8(zeros(pic_line,pic_length));
pos=randi(pic_line*pic_length);
tkk_pos(fix(pos/pic_length)+1,mod(pos,pic_length)+1)=1;
pic_final=uint8(zeros(150+pic_length*75,pic_line*75,3));
pic_final(1:150,(pic_line-10)/2*75+1:(pic_line-10)/2*75+750,1:3)=pic3;
if(pic_line>10)
for(i=1:(pic_line-10)/2)
pic_final(1:150,676+(i+(pic_line-10)/2)*75:750+(i+(pic_line-10)/2)*75,1:3)=pic4;
pic_final(1:150,i*75-74:75*i,1:3)=pic4;
end
end
for i=1:pic_length
for j=1:pic_line
if(tkk_pos(j,i)==1)
pic_final(76+i*75:150+i*75,j*75-74:j*75,1:3)=pic2;
else
pic_final(76+i*75:150+i*75,j*75-74:j*75,1:3)=pic1;
end
end
end
imshow(pic_final)
save_dir='L';%L为你自定义的保存地址
imwrite(pic_final,save_dir);
本代码用了简单的随机数及矩阵拼接,原理不多解释
其中pic1,pic2,pic3分别为素材图片,分别依次见下图
食用方法
将图片预先使用imread()函数读取
随后运行代码,设置好目录便可以生成图片了
此处可以修改生成N行P列的小鸟
pic_line=0;pic_length=20;
计算公式:N=pic_line+10;P=pic_length;
picl_line 需要保证为偶数,小于10会被强制设置为10.其他数字未测试。
魔改
修改图片
修改图像的话,建议替换的素材要保持与原素材一致。
唐可可的头像素材大小是75*75像素,标题的大小是750*150像素,其他的像素未作出适配。
若要修改为其他像素的图片,请务必修改对应的代码。
修改随机生成数量
本代码偷懒,只能生成一个唐可可
若要生成多个可以修改randi()函数的循环次数。
此外若要生成角色生成的数量可以生成多个随机表来进行多角色操作。此处不展开
更多
看到这里给原视频点个赞吧