Biên và các phương pháp dò biên ảnh part 3
lượt xem 55
download
Tham khảo tài liệu 'biên và các phương pháp dò biên ảnh part 3', văn hoá - nghệ thuật, điêu khắc - hội họa phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Biên và các phương pháp dò biên ảnh part 3
- Tiểu l uận môn xử lý ảnh - Biên và các phương pháp dò biên 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");; U pdateAllViews(NULL); } bool CDemo3Doc::Laplace(long G[3][3]) { //neu khong co du lieu anh if(!image->GetDIB()) return false; // Gradient Algorithm long sum; // long sumx; long x,y; //long r,g,b; long i,j,g; //RGBQUAD c; //CxImage tmp; B YTE cindex; C xImage tmp; tmp.Copy (*image); long xmin,xmax,ym in,ymax; xmin = ymin = 0; xmax =(long) image->GetWidth(); ymax=(long)image->GetHeight(); //neu anh la 8bit/1pixel if ((image->GetBpp() ==8) || (image->GetBpp() ==4)) { for(y=ymin; y
- Tiểu l uận môn xử lý ảnh - Biên và các phương pháp dò biên { s um=0; //kiem tra toa do x,y co nam trong anh hay khong if (image->SelectionIsInside(x,y)) { //xu ly cac toa do o duong vien anh if(y==0 || y == ymax-1) s um=0; else if(x==0 || x==xmax-1) s um=0; //tinh xap xi laplace else { //tinh theo chieu x for( i=-1; iTransfer(LamManhBien(&tmp)); Trang 22/25
- Tiểu l uận môn xử lý ảnh - Biên và các phương pháp dò biên image->Transfer(tmp); return true; } v oid CDemo3Doc::OnMethodLaplace() { // TODO: Add your command handler code here if (image==0) return; if (!image->IsValid()) return; long Gx[3][3]; Gx[0][0] = -1; Gx[0][1] =-1; Gx[0][2]= -1; 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"); U pdateAllViews(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 C xImage tmp; tmp.Copy (*image); Trang 23/25
- Tiểu l uận môn xử lý ảnh - Biên và các phương pháp dò biên long xmin,xmax,ymin,ymax; xmin = ymin = 0; xmax =(long) image->GetWidth(); ymax=(long)image->GetHeight(); for(y=ymin; yGetBpp() ==8) || (image->GetBpp() ==4)) { for(y=ymin; yGetPixelIndex (x,y)==image->GetPixelIndex (0,0)) { c 1=image->GetPixelColor(x-1,y); c 2=image->GetPixelColor(x+1,y); c 3=image->GetPixelColor(x,y-1); c 4=image->GetPixelColor(x,y+1); c 5=image->GetPixelColor(x-1,y-1); c 6=image->GetPixelColor(x+1,y+1); c 7=image->GetPixelColor(x+1,y-1); c 8=image->GetPixelColor(x-1,y+1); //tinh khoang c ach 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 ); Trang 24/25
- Tiểu l uận môn xử lý ảnh - Biên và các phương pháp dò biên 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 ); d7=abs(c.rgbRed-c7.rgbRed)+abs(c.rgbGreen - c7.rgbGreen)+ abs(c.rgbBlue -c7.rgbBlue ); d8=abs(c.rgbRed-c8.rgbRed)+abs(c.rgbGreen - c8.rgbGreen)+ abs(c.rgbBlue -c8.rgbBlue ); if(d1>dis_min || d2>dis_min || d3>dis_min || d4>dis_min || d5>dis_min ||d6>dis_min||d7>dis_min ||d8>dis_min) { //dat mau den tai cac diem bien bc=tmp.GetPixelColor(x,y-1); //neu diem truoc la diem bien if(bc.rgbBlue==0 ||bc.rgbGreen ==0 || bc.rgbRed ==0 ) { tmp.SetPixelColor(x,y,RGB(0,0,0)); } else { tmp.SetPixelColor(x,y,RGB(0,0,0)); } // } } } } } image->Transfer(tmp); return true; } v oid CDemo3Doc::OnIndirectMethod() { // TODO: Add your command handler code here D oBien(); U pdateAllViews(NULL); } Trang 25/25
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Thổi sáo và ngâm thơ với các phương pháp tự học
80 p | 992 | 298
-
Phương pháp thực dưỡng Ohsawa Macrobiotics và Nghệ thuật nấu ăn vui khỏe: Phần 2
116 p | 396 | 131
-
Phương pháp thực dưỡng và những nội dung quan trọng: Phần 1
58 p | 301 | 105
-
Biên và các phương pháp dò biên ảnh part 1
10 p | 211 | 88
-
Đề xuất phương pháp thiết kế áo dài hiện đại - ThS. Nguyên Thi Luyêṇ
7 p | 453 | 70
-
Phương pháp Ohsawa và những hiệu quả rõ ràng: Phần 1
96 p | 250 | 70
-
Biên và các phương pháp dò biên ảnh part 2
10 p | 240 | 67
-
Phương pháp Ohsawa và những hiệu quả rõ ràng: Phần 2
79 p | 227 | 58
-
Kỹ thuật chế biến trái cây part 1
39 p | 145 | 57
-
Bài giảng Xử lý ảnh: Chương 4 - Ths. Trần Thúy Hà
91 p | 156 | 46
-
Bài giảng Đại cương về các phương pháp chế biến
30 p | 258 | 29
-
Giáo trình Nghiệp vụ chế biến bánh Âu: Phần 2 - Nguyễn Hữu Hoàng
100 p | 63 | 11
-
Tìm hiểu về các liệu pháp tắm trắng
8 p | 90 | 9
-
Bài giảng Quản trị chế biến món ăn (Food processing management) - Chương 2: Nghiệp vụ chế biến món ăn
40 p | 70 | 8
-
Tìm hiểu giá trị dinh dưỡng và các phương pháp chế biến sữa: Phần 1
79 p | 26 | 7
-
Tìm hiểu giá trị dinh dưỡng và các phương pháp chế biến sữa: Phần 2
59 p | 25 | 7
-
Giáo trình Phương pháp xây dựng thực đơn 2 (Nghề: Kỹ thuật chế biến món ăn - Trung cấp) - Trường Trung cấp Công nghệ và Du lịch Hà Nội
56 p | 13 | 6
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn