FPGA图像处理-Sobel边缘检测原理.pdfVIP

  • 3
  • 0
  • 约1.06万字
  • 约 10页
  • 2026-02-27 发布于河北
  • 举报

FPGA图像处理-Sobel边缘检测原理

因为在做3*3卷积的时候,图像大小会变小,具体计算公式如下

LU2P-KJ

O=+1

其0是输出特征图的大小,I是输入特征图的大小,P是Padding的大小,K

是卷积核的大小,S是指Stride的大小,当K的值是3,P的值是1,S的值也

是1,的时候0的值和I的值相等。

为了保持输出图像的大小在经过卷积后和输入的大小一样,我们需要进行

Padding操作,在这里我采用了复制周围一圈的方式来完成。

123456

111213141516

212223242526

313233343536

414243444546

515253545556

采用python完成Sobel算法的参考模型

importcv2acv

importnumpyanp

//

img=cv.imread(rG:shiyanlDc.jpg〃)

img_gray=cv.cvtColor(img,cv.C0L0R_RGB2GRAY)

h,w=imggray,shape

imgpadding=np.zeros((h+2,w+2),np.uint8)

img_padding[l:h+1,1:w+1]=img_gray

imgpadding[0:1,1:w+1]=imggray[0:1,:]

img_padding[h+1:h+2,1:w+1]=imggray[h-1:h,:]

img_padding[:,0:1]=img_padding[:,1:2]

img_padding[:,w+1:w+2]=img_padding[:,w:w+1]

th=200

sobelrf=np.zeros;(h,w),np.uint8)

foriinranged,h):

forjinrange(1,w):

gxl=img_padding[i-1][j+1]+2*img_padding[i][j+1]+

img_padding[i+1][j+1]

gx2=img_padding[i-1][j-1]+2*img_padding[i][j-1]+

img_padding[i+1][j-1]

gyl=img_padding[i-1][j-1]+2*img_padding[i-1][j]+

img_padding[i-1][j+1]

_img_padding[i+1][j]+

gy2=img_padding[i+1][j1]+2*

img_padding[i+1][j+1]

gx=abs(gxl-gx2)

gy-abs(gyl-gy2)

ifgx+

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档