使用matlab繪製春聯

2021-10-02 08:33:03 字數 2674 閱讀 4209

受到了 天元浪子 老師的啟發

寫了乙個類似的繪製春聯的程式

已給老師投票,希望老師不要打我

天元老師的博文:

用python寫春聯:抒寫最真誠的祝福和最美好的祈願

——————————————————————————

matlab繪製春聯

效果:

使用方法:

完整**:

function springscrolls(stringname,type,fontsize)

%stringname is the parameter matrix of string.

%the type can be 'rows' or 'cols'.

warning off

string=stringname;

if nargin<2

type='rows';

endswitch 1

case ~isempty(regexpi(string,',')),pause_location=regexpi(string,',');

case ~isempty(regexpi(string,',')),pause_location=regexpi(string,',');

case ~isempty(regexpi(string,' ')),pause_location=regexpi(string,' ');

endlen_string=length(string);

if nargin<3

if strcmp(type,'rows'),fontsize=25+0.002*30/max(2/1080,max(pause_location-1,len_string-pause_location)/1920);end

if strcmp(type,'cols'),fontsize=20+0.002*30/max(2/1920,max(pause_location-1,len_string-pause_location)/1080);end

enddisp(fontsize);

bg=;bg_cell=imread('背景圖.jpg');

[m,n,~]=size(bg_cell);

for i=1:2

for j=1:max(pause_location-1,len_string-pause_location)

if strcmp(type,'rows'),bg((i-1)*(m+10)+1:(i-1)*(m+10)+m,(j-1)*n+1:j*n,:)=bg_cell(:,:,:);end

if strcmp(type,'cols'),bg((j-1)*n+1:j*n,(i-1)*(m+10)+1:(i-1)*(m+10)+m,:)=bg_cell(:,:,:);end

endendif strcmp(type,'rows'),bg(m+1:m+10,1:j*n,:)=0.94*255*ones(10,j*n,3);end

if strcmp(type,'cols'),bg(1:j*n,m+1:m+10,:)=0.94*255*ones(j*n,10,3);end

bg=uint8(bg);

imshow(bg)

hold on;

for k=1:pause_location-1

if strcmp(type,'rows'),text((k-1)*m+m/2,n/2,string(k),'fontsize',fontsize,'fontname','華文行楷','horizontalalignment', 'center');end

if strcmp(type,'cols'),text(n/2,(k-1)*m+m/2,string(k),'fontsize',fontsize,'fontname','華文行楷','horizontalalignment', 'center');end

endfor k=1:len_string-pause_location

if strcmp(type,'rows'),text((k-1)*m+m/2,n+10+n/2,string(pause_location+k),'fontsize',fontsize,'fontname','華文行楷','horizontalalignment', 'center');end

if strcmp(type,'cols'),text(n+10+n/2,(k-1)*m+m/2,string(pause_location+k),'fontsize',fontsize,'fontname','華文行楷','horizontalalignment', 'center');end

endget(text)

end

注:該程式的m檔案應和下圖放在同一資料夾中,並將命名為「背景圖.jpg」

使用MATLAB繪製分段函式實現

繪製分段函式也是很常見的需求,實現分段函式的繪製也有多種方式。以下面 分段函式為例,進行說明。方法一 直接根據分段函式的含義,根據x值的不同,相對應的函式值也不同,進行描點連線。x 0 0.1 5 y for xx x if xx 1.5 y y,0 elseif xx 1.5 xx 2 y y,x...

MATLAB曲線繪製

一。二維資料曲線圖 1.1 繪製 單根二維曲線 plot 函式的基本呼叫 格式為 plot x,y 其中x和y為長度相同的向量,分別用於儲存x座標 和y座標資料。例1 1 在0 x 2p區間內,繪製曲線 y 2e 0.5xcos 4 x 程式 如下 x 0 pi 100 2 pi y 2 exp 0...

matlab曲線繪製

from 一。二維資料曲線圖 1.1 繪製 單根二維曲線 plot 函式的基本呼叫 格式為 plot x,y 其中x和y為長度相同的向量,分別用於儲存x座標 和y座標資料。例1 1 在0 x 2p區間內,繪製曲線 y 2e 0.5xcos 4 x 程式 如下 x 0 pi 100 2 pi y 2 ...