这两个是不同图像的FFT频谱
void CTestView::OnTest()//key想办法把东西加进去
{
// TODO: Add your command handler code here
//int i,j;
// TODO: Add your command handler code here
Robert边缘检测运算
CTestDoc* pDoc = GetDocument();
LPSTR lpDIB;
LPSTR lpDIBBits;//指示原DIB图像指针
lpDIB = (LPSTR) ::GlobalLock((HGLOBAL) pDoc->GetHDIB());
lpDIBBits = ::FindDIBBits(lpDIB);
if (::DIBNumColors(lpDIB) != 256)
{
MessageBox("目前只支持256色位图的运算!", "系统提示" , MB_ICONINFORMATION | MB_OK);
::GlobalUnlock((HGLOBAL) pDoc->GetHDIB());
return;
}
BeginWaitCursor();
// lpDIBBits = ::FindDIBBits(lpDIB);//指向DIB图像开始处象素指针 , 下面开始瞎编乱造每个都要改动
if(TRUEFFT2D(lpDIBBits, ::DIBWidth(lpDIB),::DIBHeight(lpDIB)))
{
MessageBox("傅里叶变换成功!","系统提示",MB_ICONINFORMATION|MB_OK);
pDoc->SetModifiedFlag(TRUE);
pDoc->UpdateAllViews(NULL);
}
else
{//提示用户
MessageBox("傅里叶变换失败!","系统提示",MB_ICONINFORMATION|MB_OK);
}
::GlobalUnlock((HGLOBAL) pDoc->GetHDIB());
EndWaitCursor();
}
你改一下图片的大小试试