顯示廣告
隱藏 ✕
看板 Knuckles
作者 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
※ 同主題文章:
● 11-21 01:46 Knuckles □ DIP作業三
  11-26 22:49 Knuckles Re DIP作業三
※ 看板: KnucklesNote 文章推薦值: 0 目前人氣: 0 累積人氣: 668 
e)編輯 d)刪除 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇