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

問一個sobel edge detection的問題......

尚未結案
coolwaboy
一般會員


發表:9
回覆:3
積分:2
註冊:2004-09-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-12-01 22:10:01 IP:61.218.xxx.xxx 未訂閱
各位前輩,我按照sobel的演算法寫了以下code:
void __fastcall TForm1::Button10Click(TObject *Sender)
{
int gx,gy,gxy;
int sobelx[10],sobely[10];
for(int i=0;i<=511;i++)
{
   for(int j=0;j<=511;j++)
  {
    sobelx[1]=GetRValue(Image1->Canvas->Pixels[i-1][j-1]);
    sobelx[2]=GetRValue(Image1->Canvas->Pixels[i-1][j]);
    sobelx[3]=GetRValue(Image1->Canvas->Pixels[i-1][j+1]);
    sobelx[4]=GetRValue(Image1->Canvas->Pixels[i][j-1]);
    sobelx[5]=GetRValue(Image1->Canvas->Pixels[i][j]);
    sobelx[6]=GetRValue(Image1->Canvas->Pixels[i][j+1]);
    sobelx[7]=GetRValue(Image1->Canvas->Pixels[i+1][j-1]);
    sobelx[8]=GetRValue(Image1->Canvas->Pixels[i+1][j]);
    sobelx[9]=GetRValue(Image1->Canvas->Pixels[i+1][j+1]);
             gx=(sobelx[7]+2*sobelx[8]+sobelx[9])-(sobelx[1]+2*sobelx[2]+sobelx[3]);
    if(gx>255)
    gx=255;
    if(gx<0)
    gx=0;
    Image1->Canvas->Pixels[i][j]=TColor(RGB(gx,gx,gx));        }    }    } 
結果得到第一張圖的結果,我知道結果可能怪怪的,但我始終找不出錯誤在那? 奇怪的是,我若把程式碼最後一行改成(i,j對調)
Image1->Canvas->Pixels[j][i]=TColor(RGB(gx,gx,gx));
會得到第二張圖的結果,結果似乎對了,但變成了對稱的效果,我真的快想破頭了,可是卻想不出所以然來,請各位前輩指點小弟一點迷津吧,謝謝! 發表人 - coolwaboy 於 2004/12/01 22:14:03
richtop
資深會員


發表:122
回覆:646
積分:468
註冊:2003-06-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-12-01 23:30:21 IP:211.76.xxx.xxx 未訂閱
coolwaboy 您好: 您應該將算出的結果,畫在另一個Image2上,而不是畫在同一Image1上。 RichTop 敬上 =====***** 把數學當工具,可以解決問題;將數學變能力,能夠發現並解決問題! =====#####
coolwaboy
一般會員


發表:9
回覆:3
積分:2
註冊:2004-09-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-12-02 00:00:53 IP:220.139.xxx.xxx 未訂閱
richtop大大 首先先感謝你的回答 可是我搞不懂未啥要畫到另一個image? 原image的每個pixel確確實實是被新的值蓋過去阿? thx.....
richtop
資深會員


發表:122
回覆:646
積分:468
註冊:2003-06-10

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-12-02 12:51:38 IP:140.129.xxx.xxx 未訂閱
coolwaboy 您好: 因為如果您又填回原影像,則接下來的運算會用到您剛剛新產生Pixel的值,而不再是原始影像的值,這就會與Sobel filter要計算的結果不同。 RichTop 敬上 =====***** 把數學當工具,可以解決問題;將數學變能力,能夠發現並解決問題! =====#####
系統時間:2024-05-05 19:40:55
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!