本文摘自个人微信公众号: 似猿非猿的FPGA(gh_821036e8d45d)。
书接上文(FPGA图像处理中矩阵提取),趁着今天休假,采用SpinalHDL做一个小的demo,看看在SpinalHDL里如何优雅的实现Sobel边缘检测。
Sobel边缘检测
Sobel边缘检测原理教材网上一大堆,核心为卷积处理。
Sobel卷积因子为:
该算子包含两组3x3的矩阵,分别为横向及纵向,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。如果以A代表原始图像,Gx及Gy分别代表经横向及纵向边缘检测的图像灰度值,其公式如下:
图像的每一个像素的横向及纵向灰度值通过以下公式结合,来计算该点灰度的大小: