图像锐化
void Prewitt32(unsigned long *imagedata,int height,int width)
{
unsigned long* tempdataGx=(unsigned long*)malloc(height*width*sizeof(unsigned long));
unsigned long* tempdataGy=(unsigned long*)malloc(height*width*sizeof(unsigned long));
unsigned long* tempdata=(unsigned long*)malloc(height*width*sizeof(unsigned long));
int c=1;
for(int i=2;i<width-2;i++)
{
for(int j=2;j<height-2;j++)
{
tempdataGx[i*height+j]=(imagedata[(i-1)*height+j+1]
+1*imagedata[i*height+j+1]
+imagedata[(i+1)*height+j+1]
-imagedata[(i-1)*height+j-1]
-1*imagedata[i*height+j-1]
-imagedata[(i+1)*height+j-1]);
}
}
for(int i=2;i<width-2;i++)
{
for(int j=2;j<height-2;j++)
{
tempdataGy[i*height+j]=(imagedata[(i-1)*height+j-1]
+imagedata[(i-1)*height+j]
+imagedata[(i-1)*height+j+1]
-imagedata[(i+1)*height+j-1]
-imagedata[(i+1)*height+j]
-imagedata[(i+1)*height+j+1]);
}
}
for(int i=2;i<width-2;i++)
{
for(int j=2;j<height-2;j++)
{
tempdata[i*height+j]=abs(long(tempdataGx[i*height+j]))+abs(long(tempdataGy[i*height+j]));
}
}
for(int i=2;i<width-2;i++)
{
for(int j=2;j<height-2;j++)
{
imagedata[i*height+j]=tempdata[i*height+j]+imagedata[i*height+j];
}
}
printf("dd");
free(tempdataGx);
free(tempdataGy);
free(tempdata);
} 为什么我的锐化对图像都没改变 在ps里的USM锐化三个参数对应数字图像处理分别是什么