Biên và các phương pháp dò biên ảnh part 3 - Pdf 19

Tiểu luận môn xử lý ảnh - Biên và các phương pháp dò biên

Trang
21
/
25

long Gx[3][3];
long Gy[3][3];
Gx[0][0] = -1; Gx[0][1] = 0; Gx[0][2] = 1;
Gx[1][0] = -2; Gx[1][1] = 0; Gx[1][2] = 2;
Gx[2][0] = -1; Gx[2][1] = 0; Gx[2][2] = 1;

/* 3x3 GY Sobel mask. Ref: www.cee.hw.ac.uk/hipr/html/sobel.html */
Gy[0][0] = -1; Gy[0][1]=-2; Gy[0][2] =-1;
Gy[1][0] = 0; Gy[1][1] = 0; Gy[1][2] = 0;
Gy[2][0] = 1; Gy[2][1] = 2; Gy[2][2] = 1; if(Gradient(Gx,Gy)==false) AfxMessageBox("Khong co du lieu anh");;
UpdateAllViews(NULL);

}

bool CDemo3Doc::Laplace(long G[3][3])
{
//neu khong co du lieu anh
if(!image->GetDIB()) return false;

// Gradient Algorithm
long sum;

{
//xu ly cac toa do o duong vien anh
if(y==0 || y == ymax-1)
sum=0;
else if(x==0 || x==xmax-1)
sum=0;

//tinh xap xi laplace
else
{
//tinh theo chieu x
for( i=-1; i<=1 ; i++)
for(j=-1; j<=1; j++)
{
//lay gia tri mau

cindex=image-
>GetPixelIndex(x+i,y+j);
//lay gia tri ma tran Gx tuong
ung
//gx=Gx[i+1 + 3*[j+1)];
//gx=Gx[j+1 + 3*[i+1)];
g=G[i+1][j+1];
sum=sum+ (cindex* g);
// sum=min(255,sum);
}
sum=(BYTE)min(255, 255-sum);

}
//AfxMessageBox(sum);

Gx[1][0] = -1; Gx[1][1] = 8; Gx[1][2]= -1;
Gx[2][0] = -1; Gx[2][1] =-1; Gx[2][2]= -1;
if(Laplace(Gx)==false) AfxMessageBox("Khong co du lieu anh");
UpdateAllViews(NULL);

}

bool CDemo3Doc::DoBien()
{
//neu khong co du lieu anh
if(!image->GetDIB()) return false;

// long sum;
// long sumx;
long x,y;

long d1,d2,d3,d4,d5,d6,d7,d8;
// long r,g,b;
// long i,j;
//RGBQUAD c;
//CxImage tmp;
//BYTE cindex;
RGBQUAD c,c1,c2,c3,c4,c5,c6,c7,c8;
RGBQUAD bc;
int dis_min=0;
//CoArray
CxImage tmp;
tmp.Copy (*image);

Tiểu luận môn xử lý ảnh - Biên và các phương pháp dò biên

// if(image->GetPixelIndex (x,y)==image->GetPixelIndex (0,0))
{
c1=image->GetPixelColor(x-1,y);
c2=image->GetPixelColor(x+1,y);
c3=image->GetPixelColor(x,y-1);
c4=image->GetPixelColor(x,y+1);
c5=image->GetPixelColor(x-1,y-1);
c6=image->GetPixelColor(x+1,y+1);
c7=image->GetPixelColor(x+1,y-1);
c8=image->GetPixelColor(x-1,y+1);
//tinh khoang cach giua hai mau
d1=abs(c.rgbRed-c1.rgbRed)+abs(c.rgbGreen -
c1.rgbGreen)+ abs(c.rgbBlue -c1.rgbBlue );
d2=abs(c.rgbRed-c2.rgbRed)+abs(c.rgbGreen -
c2.rgbGreen)+ abs(c.rgbBlue -c2.rgbBlue );
d3=abs(c.rgbRed-c3.rgbRed)+abs(c.rgbGreen -
c3.rgbGreen)+ abs(c.rgbBlue -c3.rgbBlue );
d4=abs(c.rgbRed-c4.rgbRed)+abs(c.rgbGreen -
c4.rgbGreen)+ abs(c.rgbBlue -c4.rgbBlue );
Tiểu luận môn xử lý ảnh - Biên và các phương pháp dò biên

Trang
25
/
25

d5=abs(c.rgbRed-c5.rgbRed)+abs(c.rgbGreen -
c5.rgbGreen)+ abs(c.rgbBlue -c5.rgbBlue );
d6=abs(c.rgbRed-c6.rgbRed)+abs(c.rgbGreen -
c6.rgbGreen)+ abs(c.rgbBlue -c6.rgbBlue );

return true;
}

void CDemo3Doc::OnIndirectMethod()
{
// TODO: Add your command handler code here
DoBien();
UpdateAllViews(NULL);
}


Nhờ tải bản gốc
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status