FPGA|CPLD|ASICwilliam hill官网
直播中

梅雪松

12年用户 1236经验值
擅长:可编程逻辑 嵌入式技术 EDA/IC设计 控制/MCU
私信 关注
[经验]

【小梅哥FPGA】【设计实例】基于FPGA的图像处理设计实例工程

` 本帖最后由 小梅哥 于 2019-5-20 15:16 编辑

说明,这几个工程是由网友一边学习图像处理,一边基于我们的AC620开发板进行实验得到的结果。非小梅哥本人编写,但是已经获得永久授权使用。

做了几个,这里先上传几个大家研究下。实验使用的是AC620 FPGA开发板 + 5寸显示屏 +OV5640摄像头模块,实际上使用4.3寸显示屏直接插上也能显示图像,不过只能显示局部。这里先放5个例子,后面做出新的了再补。
AC620_OV5640V2_SDRAM_TFT800_30FPS_R_G_B_gray

        直接使用RGB图像的单一颜色通道R色作为图像的灰度输出。非常简单。


AC620_OV5640V2_SDRAM_TFT800_30FPS_RGB_ycbcr_gray
        把RGB图像转换为Ycbcr图像后,取Y分量,也就是亮度分量来作为灰度图像显示,这才是最正统的灰度图像。


AC620_OV5640V2_SDRAM_TFT800_30FPS_RGB_ycbcr_gray_inversion
        这个嘛,就是上一个实验RGB转Ycbcr之后,得到灰度图像,然后做了一个亮暗反转,啥意思呢?之前图像最暗的部分,变换为最亮的,最亮的变成最暗的,图像效果就类似于相机底片了。个人感觉,这个实验就是我拿来凑数的。当然,实际应用价值还是有的。嘘。


AC620_OV5640V2_SDRAM_TFT800_30FPS_median_filter
        均值滤波,把相邻几个像素的颜色值拿来求个平均,这就叫均值滤波,类似数学里面,5个数字:1、3,那么中值就是(1+3) / 2,就是2罗。整个滤波过程用到了3*3矩阵模版的概念,还是有点技术含量和知识含量的


AC620_OV5640V2_SDRAM_TFT800_30FPS_sobel

        sobel滤波算法实现边缘检测。提取出图像的边缘信息,这个还是蛮有用的,很多做图像识别的,都是先整出图像边缘了,再根据边缘做相关算法,来识别物体是个啥的。
下图就是sobel边缘检测的效果图了,上边是实物图,下边是经过开发板程序进行检测后的图像。  

111.jpg

以下为工程源文件

ac620_ov5640v2_sdram_tft800_30fps_median_filter.rar (204.94 KB)
(下载次数: 51, 2019-5-20 15:05 上传)

ac620_ov5640v2_sdram_tft800_30fps_r_g_b_gray.rar (167.7 KB)
(下载次数: 42, 2019-5-20 15:05 上传)

ac620_ov5640v2_sdram_tft800_30fps_rgb_ycbcr_gray.rar (176.71 KB)
(下载次数: 29, 2019-5-20 15:05 上传)

ac620_ov5640v2_sdram_tft800_30fps_rgb_ycbcr_gray_inversion.rar (177.2 KB)
(下载次数: 32, 2019-5-20 15:05 上传)

ac620_ov5640v2_sdram_tft800_30fps_sobel.rar (212.37 KB)
(下载次数: 49, 2019-5-20 15:05 上传)





` 002.jpg

回帖(4)

星云云

2019-5-21 09:04:17
感谢大佬,先留个眼,忙完来学习
举报

不洗头的和尚

2019-5-25 11:45:49
小梅哥,太厉害了。学习学习
举报

丁力

2019-6-16 16:02:20
很好的学习资料,学习学习。666
举报

王小王

2019-7-29 22:14:57
留个眼哈哈,还在学习FPGA的基础知识
举报

更多回帖

发帖
×
20
完善资料,
赚取积分