#include<stdio.h>
#include<math.h>
int Roberts(unsigned char *pnew1Data,unsigned char *pData)
{
for(int i=0;i<255;i++) //roberts!!
for(int j=0;j<255;j++)
{
pnew1Data[i*255+j]=(int)sqrt((pData[i*255+j]*(-1)+pData[i*255+j+1])*(pData[i*255+j]*(-1)+pData[i*255+j+1])+
(pData[i*255+j]*(-1)+pData[(i+1)*255+j])* (pData[i*255+j]*(-1)+pData[(i+1)*255+j]));
}
/* for(i=0;i<256*256;i++) //测试,取阈值为40
{
if(pnew1Data[i]>40)
{
pnew1Data[i]=0;
}
else pnew1Data[i]=255;
}
*/
return 0;
}
int Prewitt(unsigned char *pnew2Data,unsigned char *pData)
{
for(int i=1;i<255;i++) //prewitt!!
for(int j=1;j<255;j++)
{
#include<math.h>
int Roberts(unsigned char *pnew1Data,unsigned char *pData)
{
for(int i=0;i<255;i++) //roberts!!
for(int j=0;j<255;j++)
{
pnew1Data[i*255+j]=(int)sqrt((pData[i*255+j]*(-1)+pData[i*255+j+1])*(pData[i*255+j]*(-1)+pData[i*255+j+1])+
(pData[i*255+j]*(-1)+pData[(i+1)*255+j])* (pData[i*255+j]*(-1)+pData[(i+1)*255+j]));
}
/* for(i=0;i<256*256;i++) //测试,取阈值为40
{
if(pnew1Data[i]>40)
{
pnew1Data[i]=0;
}
else pnew1Data[i]=255;
}
*/
return 0;
}
int Prewitt(unsigned char *pnew2Data,unsigned char *pData)
{
for(int i=1;i<255;i++) //prewitt!!
for(int j=1;j<255;j++)
{