請問傳一矩陣系數 |
尚未結案
|
kmp
一般會員 發表:17 回覆:51 積分:13 註冊:2004-07-24 發送簡訊給我 |
hi~各位大人:
您們好,
我有一矩陣的系數因為不同,寫好幾個 class="code">
template
|
richtop
資深會員 發表:122 回覆:646 積分:468 註冊:2003-06-10 發送簡訊給我 |
kmp 您好: 又見面了! 底下寫了一個程式供您參考一下!
有兩點說明:
href="http://delphi.ktop.com.tw/topic.php?TOPIC_ID=48292">http://delphi.ktop.com.tw/topic.php?TOPIC_ID=48292
//--------------------------------------------------------------------------- const float SOBEL_X_3x3[] ={-1,0,1,-2,0,2,-1,0,1}; // 建議改成float,以包含非整數情況 const float SOBEL_Y_3x3[] ={-1,-2,-1,0,0,0,1,2,1}; const int dx[] = { -1, 0, 1, -1, 0, 1, -1, 0, 1 }; const int dy[] = { -1,-1,-1, 0, 0, 0, 1, 1, 1 }; templateRichTop 敬上 =====***** 把數學當工具,可以解決問題;將數學變能力,能夠發現並解決問題! =====##### |
kmp
一般會員 發表:17 回覆:51 積分:13 註冊:2004-07-24 發送簡訊給我 |
hi~richtop:
您好,又見面了< > 高興及感謝您的教導< >
有關"邊緣處理",我的確沒作,我剛看一下我同學施捨給我他的function,
是用
//以下code是同學的 int wp = wm - 1; //我不懂,不過如果以mask為3X3pading用wp=1, int hp = hm - 1; int *fp = new int [(w wp)*(h hp)]; //我的意思是這用(w 1)*(h 1) //padding (f, w, h, fp, wm, hm); padding_ray (f, w, h, fp, w wp, h hp);其中fp是您程式中的value. 引言:Best Regard kmp 發表人 - kmp 於 2004/09/26 11:08:15 發表人 - kmp 於 2004/09/26 11:50:50const int dx[] = { -1, 0, 1, -1, 0, 1, -1, 0, 1 }; const int dy[] = { -1,-1,-1, 0, 0, 0, 1, 1, 1 };請問為什要設定此? template |
richtop
資深會員 發表:122 回覆:646 積分:468 註冊:2003-06-10 發送簡訊給我 |
kmp 您好: 增加下述程式碼,方便您的測試:
#include < JPEG.hpp > // 要記得include void __fastcall toGray(TImage *image) { int w, h, r, g, b, gray, index; Byte *ptr; w = image->Picture->Width; h = image->Picture->Height; image->Picture->Bitmap->PixelFormat = pf24bit; for (int row=0; row由於filter是3x3的矩陣,我因為要用for-loop作相乘與相加,所以把相對的位置分別存入dx[],dy[]中,這樣就不必寫出九個相乘項。 至於有沒有轉成灰階,答案是沒有。因為要順便測試一下功能是否正常,所以我寫了這個測試程式。其實也想到您恐怕沒有相關的資料,但又沒有完整說明清楚,使得您不易了解程式的意義,不好意思! 上述是轉灰階與讀取bmp與jpg,並一律轉成bmp格式的函式,因為在使用ScanLine時必須是bitmap格式。 您且試試! RichTop 敬上 =====***** 把數學當工具,可以解決問題;將數學變能力,能夠發現並解決問題! =====##### |
kmp
一般會員 發表:17 回覆:51 積分:13 註冊:2004-07-24 發送簡訊給我 |
hi~richtop:
您好,感謝您的講解
<>< face="Verdana, Arial, Helvetica">引言:
增加下述程式碼,方便您的測試:
#include < JPEG.hpp > // 要記得include 我剛一跑程式出現這樣error message在這行: [C Error] Unit1.cpp(5): E2209 Unable to open include file ' JPEG.hpp ' 請問是我那裡有需要修改?由於filter是3x3的矩陣,我因為要用for-loop作相乘與相加,所以把相對的位置分別存入dx[],dy[]中,這樣就不必寫出九個相乘項。 至於有沒有轉成灰階,答案是沒有。因為要順便測試一下功能是否正常,所以我寫了這個測試程式。其實也想到您恐怕沒有相關的資料,但又沒有完整說明清楚,使得您不易了解程式的意義,不好意思! 大人每次都這麼客氣,雖然我覺好像自己變小孩子< >,但總覺 勞煩大人,心裡過意不去,...請包含與指點< > 上述是轉灰階與讀取bmp與jpg,並一律轉成bmp格式的函式,因為在使用 我之所以會問這是不是有用彩色轉灰階,是因我有讀到: ptr[idx 2] = image[index ]; // 取紅色分量 ptr[idx 1] = 0; ptr[idx ] = 0; idx = 3;原諒我的不足,我以為ptr = (Byte*) Form1->Image1->Picture->Bitmap->ScanLine[r]; idx=0; 這裡ptr這指標已指向RGB三個分量,所以這裡我們只取其一分量,為灰階, 我不太懂,請指教 >>< face="Verdana, Arial, Helvetica"> Brst Regard kmp |
richtop
資深會員 發表:122 回覆:646 積分:468 註冊:2003-06-10 發送簡訊給我 |
kmp 您好: 謝謝您!也祝您中秋節愉快! 關於上述所提問題我的回答如下:
1.您只要將JPEG.hpp前後的空格移除即可,當時是怕被當成HTML的tag,所以刻意留個空格。
2.至於灰階的部分過程是這樣的,因為您問題中使用的是二維陣列,我一時間沒有這樣的二維陣列資料,所以偷懶隨便找了一張圖檔,由於只想測試執行結果是否正確,所以僅取其中一個顏色分量出來放入二維陣列中進行測試,這就是造成您疑惑的原因所在。 RichTop 敬上 =====*****
把數學當工具,可以解決問題;將數學變能力,能夠發現並解決問題!
=====#####
|
kmp
一般會員 發表:17 回覆:51 積分:13 註冊:2004-07-24 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |