边缘检测 demo -icrosott Yisual C-ldenoviev.cpp 图Ei1 e gdit业iew Insert Eroject Build Iools里indow Help 首它日自苏电鱼2,2,四网4 Transform_FF币 习的前图罗理8女→后 CDemoView [All class members]OnSobel2 习☒~$曲名! 为中den日中D:200数字图像处理实验第一次基础部分实验边缘频城dno\demo听eW,cpp 白图demo files 》 日白Source Files 由ChildFrm.cpp void CDemoview::0nRoberts() 由demo.cpp /TOD0:Add your commend tramurer coue Ter demo.rc C-GetDocument(); demoDoc.cpp ∥获取文档类中mdib的指 demoView.cpp 针,访问当前DB数据 由dibapi.cpp LPSTR 1pDIB (LPSTR):GlobalLock((HGLOBAL)dib); 图MainFrm.cpp LPBITMAPINFOHEADER phead-(LPBITMAPINFOHEADER)IpDIB; myfile.cpp StdAfx.cpp 获取图像宽、高、每像素所占位数 transform.cpp int b phead->biBitCount/8; Header Files nt,iaeByte=-(¥b+3)/4*;输入的图像每行像素所占字节数,必须为4的倍数 目ChildFrm.h unsigned chow xloDIBBits=(unsigned char *):FindDIBBits(): 目demo.h 目demoDoc.h //循环变量,图像的坐标 目demoView.h 目dibapi.h 目MainFrm.h 罗 int×,y,t; Doc文档,负责内存数据与磁盘的交互:读入,写盘。 w视图,负责内存数据与用户的交互:数据的显示、用户操作的响应(如菜单 的选取、鼠标的响应等等)
边缘检测 //获取文档类中m_dib的指 针,访问当前DIB数据 //输入的图像每行像素所占字节数,必须为4的倍数 //获取图像宽、高、每像素所占位数 Doc文档,负责内存数据与磁盘的交互:读入,写盘。 View视图,负责内存数据与用户的交互:数据的显示、用户操作的响应(如菜单 的选取、鼠标的响应等等)
边缘检测 %deo-重icrosoft7 isual C+H-[denoView,cppw灯 B File Edit View Insert Project Build Tools Window Help 自它日每苏晒命2,之·回网仔4 习的A回 CDemoView [All class members]OnRoberts 可☒~画备! 勾刘 每Workspace'demo':1 proje△ //Roberts.算子 白爵demo files for(i=1;i<h;i++) 曰☐Source Files fordi=1;i<w;++) ChildFrm.cpp For(k=B;k<b;k++) demo.cpp 由demo.rc x=*(1pDIBBits+i*lineByte+(j+1)b+k) demoDoc.cpp -*(lpDIBBits+(i+1)*lineByte j*b+k); demoView.cpp dibapi.cpp y=*(1pDIBBits+i*lineByte+j*b+k) 0 图MainFrm.cpp -*(1pDIBBits+(i+1)*lineByte+(j+*b+k); 由myfile.cpp 由StdAfx.cpp t=5qrt(×*x+yy)+0.5; -1 0 transform.cpp if(t>255) 白-Header Files t=255; 目ChildFrm.h *(IpDIBBits+i*lineByte+j*b+k)=t; 目demo.h 目demoDoc.h 目demoView.h ☐dibapi.h ::GlobalUnlock(dib); Invalidate(); ■Clas..图Reso.目FileV.. 0
边缘检测 1 0 0 -1 0 1 -1 0