看板 Knuckles
作者 標題 DIP作業三
時間 2007年11月21日 Wed. AM 01:46:45
//Laplacian-Base Enhencement
--CImage img1; //產生一個CImage物件
img1.LoadBmpFile("lena_gray.bmp"); // 載入圖片
int height= img1.GetHeight(); // 取得圖檔的高
int width = img1.GetWidth(); // 取得圖檔的寬
CImage img2; //產生一個CImage物件
img2.Create(width,height,8);
int x,y,n,m,x2,y2;
int z[3][3]; //3x3的二維陣列
BYTE g;
for(y=0;y<height;y++)
for(x=0;x<width;x++){
//將點(x,y)與四週8-neighbor的點存入二維陣列z:
for(m=0;m<3;m++)
for(n=0;n<3;n++){
y2 = y+m-1; x2 = x+n-1; //mask的(m,n)相對於圖檔的位置為(y2,x2)
if(y2<0 || y2>height-1 || x2<0 || x2>width-1)
z[m][n] = 0; //超出圖檔範圍填0
else
z[m][n] = img1.GetGrayPixel(x2,y2);
}
// Laplacian-Base Enhencement
g = 5*z[1][1]-z[2][1]-z[0][1]-z[1][2]-z[1][0];
img2.SetGrayPixel(x,y,g);
}
img2.SaveBmpFile("Laplacian-Base Enhencement.bmp");
printf("已產生Laplacian-Base Enhencement的圖檔,檔名為Laplacian-Base Enhencement.bmp\n");
※ 來源: 台大電信 DISP 實驗室 (http://disp.twbbs.org)
※ 作者: Knuckles 來自: 140.112.175.130 時間: 2007-11-21 01:46:45
※ 編輯: Knuckles 來自: 140.112.175.130 時間: 2007-11-21 09:44:01
※ 編輯: Knuckles 來自: 140.112.175.130 時間: 2009-05-31 15:17:35
※ 編輯: Knuckles 時間: 2010-10-23 04:40:40 來自: 111-248-0-184.dynamic.hinet.net
※ 看板: KnucklesNote 文章推薦值: 0 目前人氣: 0 累積人氣: 668
回列表(←)
分享