當前位置:編程學習大全網 - 編程語言 - 圖像重疊編程

圖像重疊編程

先提供壹個半成品,供題主參考。以後有時間再完善。

有壹些問題需要題主確認。如果發現其他問題,歡迎提出,共同解決。

清楚了嗎?A

%?每個小圖的特點,1表示彩色,0表示空白。

A(1)。彭定康?=?[1?0?0?0;?1?1?0?0;?0?1?1?1;?0?1?1?0];

答(2)。彭定康?=?[1?0?0?0;?1?1?0?0;?0?1?1?1;?0?1?1?0];

答(3)。彭定康?=?[1?0?0;?1?1?0;?0?1?1;?0?1?1];

答(4)。彭定康?=?[1?0?0;?1?1?0;?0?1?0;?0?1?1];

%?大圖分為M*N個cell單元格。

m?=?30/2;

n?=?30/2;

%?允許重疊的單元格數量

x?=?0;

%?嘗試生成大圖1000次,壹旦生成符合要求的圖片就退出循環。

為了什麽?嘗試?=?1:1000

%?生成空白圖片

b?=?零點(M,N);

%?把每個小圖依次填入大圖。

為了什麽?i=1:長度(A)

%?隨機旋轉小圖0,90,180,270度。

腐爛?=?地板(蘭特* 4);

t?=?答(壹)。彭定康;

為了什麽?j=1:腐爛

t?=?rot 90(T);

結束

%?將隨機旋轉的小圖隨機填充到大圖中。

[m,n]?=?尺寸(噸);

r?=?地板(蘭特*(M-m))?+?1;

c?=?floor(rand*(N-n))?+?1;

B(r:r+m-1,c:c+n-1)?=?B(r:r+m-1,c:c+n-1)?+?t;

結束

%?如果生成的圖片滿足重疊區域的要求,則退出循環。

如果?sum(B(:)& gt;1)?& lt=?x,?破,?結束

結束

FPRINTF(' \ n數字迷彩* * *經過%i次嘗試後生成,圖案如下:\n\n ',?嘗試)

disp(num2str(B))

顏色(B)

目前,存在以下問題:

1,繪圖。目前圖片只是簡單的用pcolor生成,但是存在問題,因為pcolor的數據表出現在每個單元格的頂點上,而實際需要的是在單元格的表面表示出來。以後再考慮更好的畫圖方法。

2.這個算法有壹些小問題。壹開始,我覺得很簡單。我以為既然小圖是由2*2cm的單元格組成的,那麽30x30的圖就以2為基本單位劃分為15x15個單元格。但是編輯之後我才想起這個處理是有問題的。例如,小圖片可以從第2cm(即,半個單元)開始排列,這不符合算法。

3.需要被試確認的兩個問題:

(1)下面兩個圖案只有三列單元格。妳想考慮第四縱隊的存在嗎?也就是說,在大圖排列的時候,有沒有考慮(沒有旋轉)最右邊要有壹列空白?

(2)當前圖案只有兩種顏色。是不是應該用四種不同的顏色來區分?

  • 上一篇:Deepside - Booty Music 這首歌蠻不錯的 就是沒歌詞 誰能給找壹下求大神幫助
  • 下一篇:工控機配置比普通電腦高嗎知乎
  • copyright 2024編程學習大全網