FPGA设计——图像处理(阈值分割)

简介:

1. 概述

本设计采用FPGA技术,实现CMOS视频图像的阈值分割,并通过以太网传输(UDP方式)给PC实时显示。

2. 硬件系统框图

CMOS采用MT9V011(30万像素),FPGA采用ALTERA公司的CYCLONE IV,以太网卡采用REALTK公司的100M网卡芯片,硬件框图如下:

75154f1ae4f935f3f6a560c282fb7996.png-wh_

硬件平台采用ETree的FPGA开发板,如下图所示:

f623e51155858a0a08dca4ed50365a77.jpg-wh_

3. 算法原理

图像分割有多种算法,这里只介绍简单的双阈值分割法,在高阈值和低阈值范围内的定义为0,其他区域定义为255。

具体计算公式如下:

3f9da9802615773587c394d59343430e.jpg-wh_

4. 算法实现

阈值分割算法比较简单,关键是判断两个阈值的大小,这里根据具体的环境设置了高阈值为8'h3F,低阈值为8'h0F,如果需要自动更新两个阈值可以实时计算当前画面的平均值和均方差,然后根据它们的和确定低阈值,2倍和确定高阈值,这里就不做详细设计,有兴趣的读者可以尝试实现。

1
2
3
4
5
6
always @(posedge cmos_pclk)
begin
     cmos_href_r  <= cmos_href;
     cmos_vsync_r <= cmos_vsync;
     cmos_data_r  <= (cmos_data<=8 'h3F && cmos_data>=8' h0F)?8 'h01:8' hf0;
end

5. 最终效果

下图为原始图片效果。

a3cd874437f9a252e7a4341a2701c598.png-wh_

阈值分割后的效果图如下,时钟的数字被分割出来。

08d4efade97d43fb6c1751969b20146d.jpg-wh_


本文转自 shugenyin 51CTO博客,原文链接:http://blog.51cto.com/shugenyin/1976975


相关文章
|
机器学习/深度学习 算法 C语言
FPGA图像处理之边缘检测算法的实现
边缘检测是图像处理和计算机视觉中的基本问题,边缘检测的目的是标识数字图像中亮度变化明显的点。图像属性中的显著变化通常反映了属性的重要事件和变化。这些包括(i)深度上的不连续、(ii)表面方向不连续、(iii)物质属性变化和(iv)场景照明变化。边缘检测是图像处理和计算机视觉中,尤其是特征提取中的一个研究领域。
FPGA图像处理之边缘检测算法的实现
|
算法 计算机视觉 异构计算
FPGA图像处理之rgbtogray算法的实现
Ycbcrr或Y'CbCr有的时候会被写作:YCBCR或是Y'CBCR,是色彩空间的一种,通常会用于影片中的影像连续处理,或是数字摄影系统中。Y'为颜色的亮度(luma)成分、而CB和CR则为蓝色和红色的浓度偏移量成份。Y'和Y是不同的,而Y就是所谓的流明(luminance),表示光的浓度且为非线性,使用伽马修正(gamma correction)编码处理。
|
算法 计算机视觉 异构计算
FPGA图像处理(高斯滤波)仿真篇
高斯滤波是一种低通平滑滤波,常用于模糊处理和减少噪声信号,其中模糊处理常用于预处理,即在提取目标之前去除图像中的一些细节等,这有利于高通处理。对于二维的数字图像信号,一般通过线性滤波器和非线性滤波器的模糊处理来减少强噪声信号。平滑滤波器就是用滤波掩模确定的邻域内的像素与加权值相卷积后得到的灰度均值来代替每个像素的值,这就很容易使用硬件实现。 GAUSS 滤波算法克服了边界效应,因而滤波后的图像较好。
|
计算机视觉 数据格式 异构计算
FPGA-图像处理-色彩空间转换(RGB转YUV和YCBCR)
FPGA-图像处理-色彩空间转换(RGB转YUV和YCBCR)
311 0
|
算法 计算机视觉 异构计算
FPGA与MATLAB-图像处理-学习列表(图像处理专题更新目录,补充中)
FPGA与MATLAB-图像处理-学习列表(图像处理专题更新目录,补充中)
149 0

热门文章

最新文章