【写在前面】刚入门小菜鸟,记录一下口罩识别学习过程。参考文件和网址会在文末注明。有错误欢迎指出,也欢迎进行补充~

原理图如下,二值化对应为红框里的部分

使用的二值化方法是手动指定一个阈值,通过阈值来进行二值化处理。(还有一种方法是一个自适应阈值二值化方法,在这里未使用)

源码如下:

module binarization(//module clockinput   clk,input   rst_n,        //复位信号//图像处理前数据接口input   ycbcr_vsync,input   ycbcr_hsync,input   [7:0]   luminance,//图像处理后数据接口output  post_vsync,output  post_hsync,output  post_de,outputreg   monoc
);//reg   define
reg ycbcr_vsync_d;
reg ycbcr_hsync_d;
reg ycbcr_de_d;assign post_vsync = ycbcr_vsync_d ;
assign post_hsync = ycbcr_hsync_d ;
assign post_de = ycbcr_de_d ;//二值化
always@(posedge clk or negedge rst_n) beginif(!rst_n)monoc <= 1'b0;else if(luminance > 8'd64)    //灰度阈值monoc <= 1'b1;            //低于时赋1elsemonoc <= 1'b0;            //高于时赋0
end//延时1拍以同步时钟信号
always@(posedge clk or negedge rst_n) beginif(!rst_n) beginycbcr_vsync_d <= 1'd0;ycbcr_hsync_d <= 1'd0;ycbcr_de_d <= 1'd0;endelse beginycbcr_vsync_d <= ycbcr_vsync;ycbcr_hsync_d <= ycbcr_hsync;ycbcr_de_d <= ycbcr_de ;end
endendmodule

涉及到的知识解释:

1.LCD显示器显像的信号HSync ,VSync

VSYNC:帧同步信号。表示扫描1帧的开始,一帧也就是LCD显示的一个画面。
HSYNC:行同步信号。表示扫描1行的开始。

例如,要显示一个A x B的画面,则有:
VSYNC = HSYNC x B
HSYNC = PCLK x A

再例如:

PCLK:像素时钟,时最小时钟单位,控制整个程序的运行进程。
ENABLE:数据使能,为1时才能接受数据,为0时不能。
P_DATA: 数据输出
上升沿:由0—>1
下降沿:由1—>0

更多知识请看:LCD显示器显像的信号HSync ,VSync - 简书 (jianshu.com)

2.二值化部分

二值化即将灰度值(光亮值)和设定的阈值比较,比较结果以0和1的形式存入monoc中。0和1只是比较的结果,不是像素的实际灰度值。之后需要根据monoc确定像素点的颜色。

3.延时以同步时钟信号

我们在前面使用了一个时钟周期进行二值化,相应的同步信号也应该延迟一个时钟周期,从而实现数据的同步。

参考:《开拓者FPGA开发指南V1.5》

FPGA|数字图像处理实现口罩识别——二值化相关推荐

  1. 数字图像处理100问—03二值化(Thresholding)

    提示:内容整理自:https://github.com/gzr2017/ImageProcessing100Wen CV小白从0开始学数字图像处理 03二值化(Thresholding) 把图像进行二 ...

  2. 用FPGA实现视频中物体边缘二值化

    对于高速视频图像中的物体轮廓提取中,图像的二值化,采用软件方式,速度无法满足需要,因此要采用FPGA方案,这样可以实现二值化速度和帧率一样,完全和视频同步. 一.算法原理:  边缘二值化的算法很多,象 ...

  3. Java图像处理:灰度、二值化、浮雕、去色、反向、怀旧、放大镜等

    图像是由一个个像素点组合而成,图像处理本身实际上是遍历图像的像素点,对像素点的RGB值进行更改,以达到图像处理的目的. 接下来,我们主要介绍一下图片转化为二维像素点数组的方法以及部分图像处理如灰度.二 ...

  4. ZYNQ图像处理(4)——灰度图像转二值化图像

    1.二值化图像简介 前面已经完成了摄像头图像的采集和显示,以及RGB图像转灰度图.二值化图像在图像处理领域同样有广泛的应用,本节介绍如何用FPGA实现灰度转二值化图形.灰度实现二值化的原理很简单,只需 ...

  5. 【图像处理】——图像的二值化操作及阈值化操作(固定阈值法(全局阈值法——大津法OTSU和三角法TRIANGLE)和自适应阈值法(局部阈值法——均值和高斯法))

    目录 一.二值化的概念(实际上就是一个阈值化操作) 1.概念: 2.实现方法 3.常用方法 二.阈值类型 1.常见阈值类型(主要有五种类型) (1)公式描述 (2)图表描述 2.两种特殊的阈值算法(O ...

  6. opencv 图像分割 阈值分割 图像二值化 灰度图

    # -*- coding: utf-8 -*- """ @File : 191213_测试_阈值分割.py @Time : 2019/12/13 15:14 @Autho ...

  7. 自动驾驶小车循迹 图像二值化方法

    参考文章1:图像处理一之-摄像头二值化处理-(什么是二值化) 参考文章2:图像处理二之----摄像头二值化算法汇总+代码

  8. 数字识别java开源_Java基于opencv实现图像数字识别(三)—灰度化和二值化

    Java基于opencv实现图像数字识别(三)-灰度化和二值化 一.灰度化 灰度化:在RGB模型中,如果R=G=B时,则彩色表示灰度颜色,其中R=G=B的值叫灰度值:因此,灰度图像每个像素点只需一个字 ...

  9. java图像处理:灰度化,二值化,降噪,切割,裁剪,识别,找相似等

    前段时间做爬虫,涉及到对图片验证码的破解,这里罗列一些常用的图像处理方法,都很简单并没用到什么复杂的算法,所以不涉及opencv,都是一些直接对rgb像素点的操作,很简单也很好理解,至于识别直接用的t ...

最新文章

  1. 暗网 tor溯源困难根因——用户的请求会在分布全球的主机随机跳转三次,最终才到达服务器,这就造成了溯源的极其困难...
  2. 虚拟化基础架构Windows 2008篇之12-WSUS工作站端配置
  3. 结合泛型与模板的STL.NET
  4. iptables的配置实例
  5. windows局域网文件共享的使用
  6. 从Java程序员进阶为架构师,全套16张图概括最全技能!建议收藏!
  7. linux(十三)之磁盘分区、创建文件系统、挂载
  8. MapGuide应用开发系列(八)----MapGuide Studio准备地图之地图(Map)
  9. jmeter mysql 执行计划_[PT_06] 性能测试-场景设计与实现(登录随机购买业务)
  10. PHP 遍历文件夹及文件类及处理类
  11. 简单几步解决 svchost 占用资源过高的问题
  12. 读《谁说大象不能跳舞》
  13. C语言位运算-实现Photoshop反向功能
  14. 维谛技术Vertiv 暑期实习
  15. 快速打开Yahoo邮箱的 POP3/SMTP 服务功能
  16. 在网页项目中集成扫码枪设备,实现二维码扫码识别实战
  17. 【分享】参加一个0元小白理财训练营开营第1天的学习笔记
  18. Codeforces1422 F.Boring Queries(根号分治+线段树+可持久化线段树)
  19. MySQL主从架构、读写分离、集群相关面试问题
  20. 2021.1.25-2021.1.31

热门文章

  1. bing Map 在vue项目中的使用
  2. 有空就来刷几道5G面试题系列 | 5G架构篇
  3. OSChina 周二乱弹 ——区块链与女朋友之间的关系
  4. hive中出现rg.apache.hadoop.hive.ql.exec.mr.MapRedTask错误
  5. Git使用个人访问令牌提交代码到仓库
  6. centos8编译安装vlc_在CentOS系统中通过yum安装VLC播放器的教程
  7. SharePoint 2010 安装错误:请重新启动计算机,然后运行安装程序以继续
  8. Windows批处理方式实现MySQL定期自动备份
  9. 华为云数据库 GaussDB(for MySQL),让企业无忧数据恢复
  10. html td圆角边框,解决table边框圆角无效