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

圖像比對問題.......

尚未結案
639673
一般會員


發表:36
回覆:4
積分:8
註冊:2005-05-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-08-02 01:24:33 IP:211.76.xxx.xxx 未訂閱
剛剛我在以前的文章發現這段~想問一下若我有兩張bmp圖~檔名是123和124~要進行比對~那我要如何融入這個程式ㄋ for ( y = 0; y < MainForm->Image1->Height; y ) //統計兩個Frame像素質 { ptr1 = (Byte *)Bmp->ScanLine[y]; ptr2 = (Byte *)Bmp2->ScanLine[y]; for ( x = 0; x < MainForm->Image1->Width; x ) { a_pic = (ptr1[x*3] ptr1[x*3 1] ptr1[x*3 2])/3; b_pic = (ptr2[x*3] ptr2[x*3 1] ptr2[x*3 2])/3; aval[x][y] =a_pic; bval[x][y] =b_pic; } }
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-08-16 00:25:59 IP:59.115.xxx.xxx 未訂閱
639673 您好:    您貼上來的程式敘述並不完整,其中有些變數的宣告沒有貼上來,無法進行完整的測試,因此僅就問題作回覆,無法確保運作結果是否正確?    將兩個圖檔代入該段程式的寫法大致如下,請參考:
Graphics::TBitmap *Bmp1 = new Graphics::TBitmap();
Graphics::TBitmap *Bmp2 = new Graphics::TBitmap();    Bmp1->PixelFormat = pf24bit;
Bmp2->PixelFormat = pf24bit;    Bmp1->LoadFromFile("c:\\123.bmp");
Bmp2->LoadFromFile("c:\\124.bmp");    Byte *ptr1;
Byte *ptr2;    for (int y = 0; y < Bmp1->Height; y  ) {
    ptr1 = (Byte *)Bmp1->ScanLine[y];
    ptr2 = (Byte *)Bmp2->ScanLine[y];
    for (int x = 0; x < Bmp1->Width; x  ) {
        a_pic = (ptr1[x*3]   ptr1[x*3 1] ptr1[x*3 2])/3;
        b_pic = (ptr2[x*3]   ptr2[x*3 1] ptr2[x*3 2])/3;
        aval[x][y] =a_pic;
        bval[x][y] =b_pic;
    }
}    if (memcmp(aval, bval, sizeof(bval[x][y]) ) == 0)
    ShowMessage("同一張圖形");
else
    ShowMessage("不同圖形");    delete Bmp1;
Bmp1 = NULL;
delete Bmp2;
Bmp2 = NULL;
7 天天敲鍵盤 v 時時按滑鼠 8
系統時間:2024-04-26 15:34:17
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!