1. 拼圖游戲演算法分析
BFS演算法。
隊列初始化
Repeat
h=當前狀態
for a=1 to 4 do begin
生成下一個目標
加入隊列
康托展開計算hash碼,標記訪問和步數
如果達到目標則退出過程
end
h退出隊列
until 隊列空
說明:隊列就是從頭進從尾出的一種線性數據結構,不懂自己查
康托展開不懂自己查,這個hash是必要的,不然不能在要求時間內解決問題。
bfs演算法應該就不錯。A*不能得到最優解。
2. photoshop和gigapan用的拼接演算法是什麼
但是,因為這款雲台、軟體完全是國外製造與設計,控制台菜單與拼接軟體菜單都不支持中文(代理講,會盡快推出全中文菜單),使用中會有些不大習慣。
拼接後的全景照片
不僅如此,拼接軟體對中文操作系統的兼容性有些問題。在實際使用中,軟體只能處理英文名的照片文件,雙位元組文件名的圖片文件一律不能處理,而且一經操作,其拼接軟體就會進入死機狀態。在此種情況下,筆者使用了Photoshop CS5的自動拼圖功能進行了拼圖處理,其效果也很好,除了PS外,使用者還可以選用自己熟悉的第三方軟體進行拼圖處理,但就方便性來講,GiGaPan Stitch中文版接圖軟體才是這款智能全景雲台的首選接圖軟體,期待其中文版能盡快推出。
3. 拼圖游戲的演算法(推動的拼圖)FLASH版
不一定只讓一個方塊移動,演算法可以是先把一張圖片分割好,為每個方塊指定一個整形的數字。然後寫一個方法,讓i行j列的方塊隨機往一個方向移動。調用這個方法若干次,效果上就像你讓人家玩魔方前,自己手工把它打亂。
數據結構方面,由於AS並不支持真正的多維數組,你可以用數組的數組來存放N*N的方塊:
var num:Number=10;
var blocks:Array=new Array();
var count:Number=0;
for(var i:Number=0;i<num;i++){
var row:Array=new Array();
for(var j:Number=0;j<num;j++){
row.push(count++);
}
blocks.push(row);
}
function randomMove(rowIndex:Number,colIndex:Number){
..
}
Good Luck
4. 滑塊拼圖游戲演算法實現
這個游戲要想單純靠程序實現不太容易,20分誰願意?加點分。
要不你用專門做這方面的軟體,靠FLASH實現不會太難。用它的命令實現是比較容易的,也不用寫什麼代碼,系統自動生成(那個命令叫什麼名字我也忘了)。
5. ps裡面自動圖像拼接用的是什麼演算法
adobe photoshop cc 2015.5拼接圖像方法是:
1、打開PS,新建適當大小白色背景文件;
2、文件-打開-選擇要拼接的圖片,ctrl+t調整圖片大小、位置;
3、繼續打開圖片,拖進來,調整大小位置,直至布滿這張畫布,合並圖層,完成。
6. java 數字拼圖 演算法
要想得到最優的就需要使用廣度優先搜索,九宮的所有排列有9!種,也就是362880種排法,數據量是非常大的,使用廣度搜索,需要記住每一個結點的排列形式,要是用數組記錄的話會佔用很多的內存,可以把數據進行適當的壓縮。使用dword形式保存,壓縮形式是每個數字用3位表示,這樣就是3×9=27個位元組,由於8的二進製表示形式1000,不能用3位表示,使用了一個小技巧就是將8表示為000,然後用多出來的5個字表示8所在的位置,就可以用dword表示了。用移位和或操作將數據逐個移入,比乘法速度要快點。定義了幾個結果來存儲遍歷到了結果和搜索完成後保存最優路徑。
7. 急求!圖像拼接演算法代碼
演算法描述
procere ImageMatching
{
輸入FirstImage;
輸入SecondImage;
//獲得兩幅圖象的大小
Height1=GetImageHeight(FirstImage);
Height2=GetImageHeight(SecondImage);
Width1=GetImageWidth(FirstImage);
Width2=GetImageWidth(SecondImage);
// 從第二幅圖象取網格匹配模板
SecondImageGrid = GetSecondImageGrid(SecondImage);
// 粗略匹配,網格在第一幅圖象中先從左向右移動,再從下到上移動,每次移動一個網格間距,Step_Width 或Step_Height,當網格移出重疊區域後結束
y=Heitht1-GridHeight;
MinValue = MaxInteger;
While ( y<Height1-OverlapNumber)//當網格移出重疊部分後結束
{
x=Grid_Width/2; //當網格位於第一幅圖象的最左邊時,A點的橫坐標。
While ( x<(Width1-Grid_Width/2) )
{
FirstImageGrid=GetImgaeGrid(FirstImgaeGrid, x, y);
differ=CaculateDiff(FirstImgaeGrid, SecondImageGrid);//計算象素值差的平
//方和
if (differ<MinValue)
{
BestMatch_x=x;
BestMatch_y=y;
MinValue = differ;
}
x= x+Step_width;
}
y=y-Step_Height;
}
//精確匹配
Step_Width= Step_Width/2;
Step_Height= Step_Height/2;
While ( Step_Height>0 & Step_Width>0)//當水平步長和垂直步長均減為零時結束
{
if(Step_Height==0)//當僅有垂直步長減為零時,將其置為1
Step_Height=1;
If(Step_Width==0) //當僅有水平步長減為零時,將其置為1
Step_Width=1;
temp_x = BestMatch_x;
temp_y = BestMatch_y;
for ( i= -1; i<1; i++)
for( j= -1; j<1; j++)
{
if ((i=0&j!=0)|(i!=0&j=0))
{
FirstImageGrid=GetImgaeGrid(FirstImgaeGrid,
temp_x+i*Step_Width, temp_y +j*Step_Height);
differ=CaculateDiff(FirstImgaeGrid, SecondImageGrid);
if (differ<MinValue)
{
BestMatch_x=x;
BestMatch_y=y;
MinValue = differ;
}
}
}
Step_Height = Step_Height /2;
Step_Width = Step_Width/2;
}
}
不懂的可以問我,相互交流
8. ps怎麼自動拼圖,圖片大小都是一樣的,需要無縫拼接成一張長圖,不是全景圖。
其實有更簡單的方法,下載一個手機圖像處理APP就可以做到,如:美圖秀秀,海報工廠(有張數限制,一般為9張圖)
PS拼長圖步驟:
1、Ctrl+N新建文件(高度設的高一點)
2、置入所需圖片並擺放位置,Ctrl+T自由變化大小
3、保存為PNG或JPG文件即可
9. PS怎樣自動拼合圖片
很簡單,打開PS(*最好CS3以上,效果會更好!*)文件——自動——Photomerge,會彈出對話框,選擇需要拼合的圖像,選左邊的【自動】,其他默認選項,點擊確認即可。你可以反復嘗試左邊的選項,比如【透視】,【圓柱】等效果,以達到你想要的最佳效果,按照經驗,如果是廣角鏡頭拍的,用【圓柱】效果會更好。配上截圖,希望對你有所幫助!