📄 c_sobel.c
字号:
void C_sobel
(const unsigned char indata[], int width, int height, unsigned char outdata[])
{
int i,j,a,b,c;
//int scale=4;
for (i=1;i<height-1;i++) {
for (j=1;j<width-1;j++) {
a = abs((indata[(i-1)*width+(j+1)]+2*indata[i*width+(j+1)]+indata[(i+1)*width+(j+1)])-
(indata[(i-1)*width+(j-1)]+2*indata[i*width+(j-1)]+indata[(i+1)*width+(j-1)]));
b = abs((indata[(i+1)*width+(j-1)]+2*indata[(i+1)*width+j]+indata[(i+1)*width+(j+1)])-
(indata[(i-1)*width+(j-1)]+2*indata[(i-1)*width+j]+indata[(i-1)*width+(j+1)]));
// c = (int) sqrt(a*a+b*b);
c = a+b;
//c /= scale;
if (c>255) c=255;
outdata[i*width+j] = c;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -