線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1186
推到 Plurk!
推到 Facebook!

區域成長法的問題

尚未結案
chrislove87
一般會員


發表:11
回覆:14
積分:5
註冊:2007-05-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-08-12 21:09:40 IP:210.70.xxx.xxx 未訂閱
我是參考站上的先進的程式再依自己的需求下去寫,

不知道為什麼的一直會stack overflow,max stack已經調到最高,

看view call stack的結果如下:

0040268A Region_Grow(x=316, y=236, HH=512, WW=512)
0040272A Region_Grow(x=315, y=236, HH=512, WW=512)
0040268A Region_Grow(x=316, y=236, HH=512, WW=512)
0040272A Region_Grow(x=315, y=236, HH=512, WW=512)
0040268A Region_Grow(x=316, y=236, HH=512, WW=512)
0040272A Region_Grow(x=315, y=236, HH=512, WW=512)
0040268A Region_Grow(x=316, y=236, HH=512, WW=512)
無限跑
核心的副程式如下
[code cpp]

void Region_Grow(int x,int y,int HH,int WW)
{
trans[x][y]=1; //用來儲存掃過的像素
if ((abs(YCbCr[x-1][y]-YCbCr[orgx][orgy])<=Form1->Edit1->Text.ToInt()) && (x>=1)){
//orgx、orgy 為全域變數,儲存原始種子點
//Edit1 為門檻值
Region_Grow(x-1,y,HH,WW);
}
if(abs(YCbCr[x 1][y]-YCbCr[orgx][orgy])<=Form1->Edit1->Text.ToInt() && x Region_Grow(x 1,y,HH,WW);
}
if (abs(YCbCr[x][y-1]-YCbCr[orgx][orgy])<=Form1->Edit1->Text.ToInt()&& y>=1) {
Region_Grow(x,y-1,HH,WW);
}
if (abs(YCbCr[x][y 1]-YCbCr[orgx][orgy])<=Form1->Edit1->Text.ToInt() && y Region_Grow(x,y 1,HH,WW);
}
}
[/code]
懇請板上先進為我解答疑惑~
編輯記錄
chrislove87 重新編輯於 2009-08-12 21:10:21, 註解 無‧
系統時間:2024-04-25 19:47:23
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!