Hồ Giang 46E3 // khai báo public: BITMAPFILEHEADER bfHeader; BITMAPINFOHEADER biHeader; RGBQUAD Colors[256]; BYTE Data[1000][1000]; //doc anh void CBai2Doc::Serialize(CArchive& ar) { if (ar.IsStoring()) { // TODO: add storing code here } else { // TODO: add loading code here ar.Read(&bfHeader,sizeof(BITMAPFILEHEADER)); if(bfHeader.bfType!=('M'SetPixel(j,pDoc->biHeader.biHeight-i,RGB(R,G,B)); } } //âm void CBai2View::Onamban() { CBai2Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: Add your command handler code here int n,m,L=255; int M=pDoc->biHeader.biHeight; int N=pDoc->biHeader.biWidth; for(m=0; mData[m][n]; Invalidate(); } // Hiện histogram void CBai2View::Onhienhis() { CBai2Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: Add your command handler code here clsHis dlgHH; int i,j,u; long H[256]; for(u=0; uData[i][j]]++; for(u=0; ubiHeader.biWidth; int m,n,u; int a1=30,a=70,b=200,b1=255; long H[256]; for(m=0;mData[m][n])/(b-a) +(a1*b-b1*a)/(b-a)); for(u=0;ubiHeader.biHeight; int N=pDoc->biHeader.biWidth; BYTE X[1000][1000]; int a=50,b=150,Va=30,Vb=200; for(m=0;mData[m][n]Data[m][n]=Va+(X[m][n]-a)*(Vb-Va)/(b-a); Invalidate(); } void CBai2View::Onvungtoi() { CBai2Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: Add your command handler code here int m,n; int M=pDoc->biHeader.biHeight; int N=pDoc->biHeader.biWidth; BYTE X[1000][1000]; int a=50,b=150,Va=30,Vb=200; for(m=0;mData[m][n]Data[m][n]=X[m][n]*Va/a; Invalidate(); } // cắt rát mức xám void CBai2View::Ongialainenanh() { CBai2Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: Add your command handler code here int i,j,a=100, b=200; for(i=0; ibiHeader.biHeight;i++) for(j=0; jbiHeader.biWidth;j++) if((pDoc->Data[i][j]>=a)&&(pDoc->Data[i][j]Data[i][j]=255; else pDoc->Data[i][j]=pDoc->Data[i][j]; Invalidate(); } void CBai2View::Onkhonggiulainenanh() { 12 Môn Xử lý ảnh Hồ Giang 46E3 CBai2Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: Add your command handler code here int i,j,a=100, b=200; for(i=0; ibiHeader.biHeight;i++) for(j=0; jbiHeader.biWidth;j++) if((pDoc->Data[i][j]>=a)&&(pDoc->Data[i][j]Data[i][j]=255; else pDoc->Data[i][j]=0; Invalidate(); } Môn Xử lý ảnh 13