大概像是下面这样(我是真的不会设计海报,大家凑乎着看叭)
我们要制作的就是上面这样的背景图,文章最后由完整代码
导入图片并获得长宽及通道数信息,图片需要和m文件在同一文件夹:
I=imread('test.jpeg'); [W,H,nChanels]=size(I); 12
我用的原图在这里:
degree=15; eddy_mat=zeros(W,H,nChanels); swirl_degree=degree./1000; midX=W/2; midY=H/2; for y=1:H for x=1:W Yoffset=y-midY; Xoffset=x-midX; radian=atan2(Yoffset,Xoffset); radius=sqrt(Xoffset^2+Yoffset^2); X=int32(radius*cos(radian+radius*swirl_degree)+midX); Y=int32(radius*sin(radian+radius*swirl_degree)+midY); X(X>W)=W;Y(Y>H)=H; X(X<1)=1;Y(Y<1)=1; eddy_mat(x,y,:)=I(X,Y,:); end end eddy_mat=uint8(eddy_mat);
12345678910111213141516171819202122其实就是灰度化这张图,我们要根据图片的亮度绘制曲面,因而用灰度图做高度索引再适合不过
map_mat=rgb2gray(eddy_mat); 1
使用灰度图构造曲面,再把有色图贴图上去
[Xmesh,Ymesh]=meshgrid(1:H,1:W); surf(Xmesh,map_mat,Ymesh,'EdgeColor','none','LineWidth',0.01,'CData',eddy_mat,'FaceColor','interp') 12
调整曲面角度,为了方便截图,可以把背景设置成黑色
axes=gca; axes.PlotBoxAspectRatio=[0.6860 0.6875 1.0000]; axes.CameraPosition=[-0.9862 2.2773 1.5062].*1e3; axes.Color=[0 0 0]; 1234
注可以将figure调大后截图
完整代码:
function FarGate I=imread('test.jpeg'); [W,H,nChanels]=size(I); degree=15; eddy_mat=zeros(W,H,nChanels); swirl_degree=degree./1000; midX=W/2; midY=H/2; for y=1:H for x=1:W Yoffset=y-midY; Xoffset=x-midX; radian=atan2(Yoffset,Xoffset); radius=sqrt(Xoffset^2+Yoffset^2); X=int32(radius*cos(radian+radius*swirl_degree)+midX); Y=int32(radius*sin(radian+radius*swirl_degree)+midY); X(X>W)=W;Y(Y>H)=H; X(X<1)=1;Y(Y<1)=1; eddy_mat(x,y,:)=I(X,Y,:); end end eddy_mat=uint8(eddy_mat); disp('已完成图像旋转...'),pause(0.5) %T=affine2d([1 0 0;0 1 0;0 0 1]); %dst_mat=imwarp(eddy_mat,T); imshow(eddy_mat) map_mat=rgb2gray(eddy_mat); disp('已获得映射矩阵...'),pause(0.5) imshow(map_mat) [Xmesh,Ymesh]=meshgrid(1:H,1:W); surf(Xmesh,map_mat,Ymesh,'EdgeColor','none','LineWidth',0.01,'CData',eddy_mat,'FaceColor','interp') disp('已构造曲面...'),pause(0.5) axes=gca; axes.PlotBoxAspectRatio=[0.6860 0.6875 1.0000]; axes.CameraPosition=[-0.9862 2.2773 1.5062].*1e3; axes.Color=[0 0 0]; disp('已调整曲面角度') end
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748抖音同款系列又出了两篇哟,大家可以去看一下:
MATLAB 制作抖音同款 立体人物文字海报
MATLAB 制作抖音同款含褶皱面料图
相关知识
抖音同款diy手工串珠花卉幸福幸福花花瓣珍珠其他DIY饰品配件
抖音计算器表白视频怎么制作 抖音计算器表白视频制作教学
抖音直播间很火的烟花表白霓虹灯湖边改字AE模板祝福视频生成制作教程,2分钟教会你!
抖音玫瑰花爱心七夕表白图怎么弄 趣推APP制作教程分享
曹小花的抖音
slandarer/MATLAB 高级绘图
ins网红气球玫瑰花diy材料包表白情人节礼物带灯抖音同款气球花束 29.9元(需用券)
抖音上很火的表白折纸方法 手工折纸大全
抖音==1/2个微信?抖音会是下一个巨头吗?
抖音上的花店广告怎么做,本文为你解答
网址: MATLAB 制作抖音同款旋转星空海报图 https://m.huajiangbk.com/newsview1496830.html
上一篇: 用Python的Turtle制作 |
下一篇: 模拟3D星空 |