RegionGrow程式碼問題 |
尚未結案
|
frankh
一般會員 發表:25 回覆:36 積分:12 註冊:2005-05-04 發送簡訊給我 |
我的程式是做把照片二值化後...然後再頭髮上點一點作Region_Grow..把頭髮的部分選取出...但是程式做出來的結果跟我要的不同...可不可以請各位大大幫我看一下....
這是我程式做出的結果:
但我需要的結果:
我的程式碼:
void Region_Grow(int x,int y) { col[x][y]=128; if (col[x-1][y]==0 && x>=1) Region_Grow(x-1,y); if (col[x+1][y]==0 && x |
justdo
高階會員 發表:2 回覆:359 積分:222 註冊:2004-08-17 發送簡訊給我 |
fp=fopen("d:\\eyebrow100\\3.bmp","rb"); for (i=0; i<54; i ) j=getc(fp); for (j=0; j<320; j ) for (i=0; i<240; i ) { col[i][j]=getc(fp); col[i][j 1]=getc(fp); col[i][j 2]=getc(fp); }你確定你的圖是RGB的? 又你填資料進col陣列的時候也怪怪的,有些點會重複填到 像是j=0, i=0時,會填入col[0][0], col[0][1], col[0][2] j=1, i=0時,會填入col[0][1], col[0][2], col[0][3] 當j=319, i=239時,會填入col[239][319], col[239][320], col[239][321] 明顯已經超過影像的範圍,會寫到非法的記憶體區域去 另外你貼出來的兩張圖,看不出有任何關連... 最後 fp1=fopen("D:\\eyebrow100\\1.bmp","rb"); fp2=fopen("D:\\eyebrow100\\2.bmp","wb"); for (i=0; i<1078; i ) { j=getc(fp1); putc(j,fp2); }為何要寫入1.bmp的1078 bytes的資料到2.bmp去? bmp的檔頭只有54bytes而已吧 |
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
|
frankh
一般會員 發表:25 回覆:36 積分:12 註冊:2005-05-04 發送簡訊給我 |
|
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
|
frankh
一般會員 發表:25 回覆:36 積分:12 註冊:2005-05-04 發送簡訊給我 |
|
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
|
frankh
一般會員 發表:25 回覆:36 積分:12 註冊:2005-05-04 發送簡訊給我 |
|
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
frankh 您好: 您貼上來的那個圖檔 (需要的結果) 與您上傳供測試的圖檔並不相同,這樣子很難做實際的比對,必要時,請您使用人工的方式,將測試前、中、後應該產生的圖像效果製作出來貼上來,把您實際想處理的結果做個較為切確的說明。 您的程式中沒看到有產生 1.bmp 的敘述,但是卻有讀取 1.bmp 的敘述,那個 1.bmp 是怎麼產生的?內容為何? 我這邊測試您上傳程式的結果,390x531x24 的原圖可以產生二值化之後的 240x320x24 圖檔,但這個部分是透過 Image 元件來完成的,其它使用 col 陣列處理的部份,根本就無法產生正確的圖檔 (無法使用任何看圖程式來查看內容)。 我目前產生的疑問和 justdo 的問題是相同的,請您抽空把 justdo 提出來的問題說明一下吧。 7 天天敲鍵盤 v 時時按滑鼠 8
|
frankh
一般會員 發表:25 回覆:36 積分:12 註冊:2005-05-04 發送簡訊給我 |
RedSnow您好:
抱歉..我貼上來得圖檔是當時測試的...
我所po的問題已經解決了..
1.bmp本來是要有一張正規化的圖...
現在程式已經修改成匯入一張圖後經過正規化會自動儲存一張1.bmp的檔案..
而程式的檔頭問題已經改過了...
對不起..麻煩大家了...謝謝大家的指導
引言: frankh 您好: 您貼上來的那個圖檔 (需要的結果) 與您上傳供測試的圖檔並不相同,這樣子很難做實際的比對,必要時,請您使用人工的方式,將測試前、中、後應該產生的圖像效果製作出來貼上來,把您實際想處理的結果做個較為切確的說明。 您的程式中沒看到有產生 1.bmp 的敘述,但是卻有讀取 1.bmp 的敘述,那個 1.bmp 是怎麼產生的?內容為何? 我這邊測試您上傳程式的結果,390x531x24 的原圖可以產生二值化之後的 240x320x24 圖檔,但這個部分是透過 Image 元件來完成的,其它使用 col 陣列處理的部份,根本就無法產生正確的圖檔 (無法使用任何看圖程式來查看內容)。 我目前產生的疑問和 justdo 的問題是相同的,請您抽空把 justdo 提出來的問題說明一下吧。 7 天天敲鍵盤 v 時時按滑鼠 8 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |