简介

在图像处理领域中,降采样是一个非常常用的图像处理方法,目的是为了在大体上不改变图片的情况下,缩小图像,降低分辨率,减少数据的计算量,生成对应图像的降采样图。本质就是抽取图像数据来降低特征的维度进而保留有效的信息。

原理

对一个需要处理的图片的像素值序列间隔几个像素值取样一次,也就是抽取像素值,得到的新的像素值序列就是原像素值序列的降采样,也称为下采样。

降采样分为整数倍降采样和分数倍降采样,在这篇文章中,介绍的是比较常用的 2 倍降采样,也可以说是奇数降采样或偶数降采样。

模块端口图

这里把 RGB 数据的三个通道都列了出来,当然也可以用其他的图像数据格式,如:YUV 。

设计文件代码

以下为降采样的设计代码,留下的是偶数列的图像数据。代码中控制计数器的为 MCNT,也就是计数最大值,这个视情况而定,也可用数据有效信号(Data_valid)来控制计数器。

   module Down_Sampling(Data_in_r,Data_in_g, Data_in_b,clk,rst_n,Data_out_r,Data_out_g,Data_out_b,);input [7:0] Data_in_r;input [7:0] Data_in_g;input [7:0] Data_in_b;input clk;input rst_n;output [7:0] Data_out_r;output [7:0] Data_out_g;output [7:0] Data_out_b;parameter MCNT = 根据情况定 也可用数据有效信号控制;reg [10:0] Data_cnt;always@(posedge clk or negedge rst_n)if(!rst_n)Data_cnt <= 0;else if(Data_cnt == MCNT) Data_cnt <= 0;else Data_cnt <= Data_cnt + 1;always@(posedge clk or negedge rst_n)if(!rst_n)beginData_out_r <= 0;Data_out_g <= 0;Data_out_b <= 0;endelse if(!Data_cnt[0])beginData_out_r <= Data_in_r;Data_out_g <= Data_in_g;Data_out_b <= Data_in_b;end  else beginData_out_r <= Data_out_r;Data_out_g <= Data_out_g;Data_out_b <= Data_out_b;endendmodule

以下为留下奇数列的图像数据。

   module Down_Sampling(Data_in_r,Data_in_g, Data_in_b,clk,rst_n,Data_out_r,Data_out_g,Data_out_b,);input [7:0] Data_in_r;input [7:0] Data_in_g;input [7:0] Data_in_b;input clk;input rst_n;output [7:0] Data_out_r;output [7:0] Data_out_g;output [7:0] Data_out_b;parameter MCNT = 根据情况定 也可用数据有效信号控制;reg [10:0] Data_cnt;always@(posedge clk or negedge rst_n)if(!rst_n)Data_cnt <= 0;else if(Data_cnt == MCNT) Data_cnt <= 0;else Data_cnt <= Data_cnt + 1;always@(posedge clk or negedge rst_n)if(!rst_n)beginData_out_r <= 0;Data_out_g <= 0;Data_out_b <= 0;endelse if(Data_cnt[0])beginData_out_r <= Data_in_r;Data_out_g <= Data_in_g;Data_out_b <= Data_in_b;end  else beginData_out_r <= Data_out_r;Data_out_g <= Data_out_g;Data_out_b <= Data_out_b;endendmodule

Down-Sampling 降采样(Verilog)相关推荐

  1. Verilog功能模块——降采样

    一. 模块功能与应用场景 模块功能:对输入信号进行降采样. 应用场景: 输入数据量太大,后级难以处理,需要减小信号量而不丢失关键信息 二. 模块框图与使用说明 参数DOWN_SAMPLING_TIME ...

  2. 降采样数字滤波器-MATLAB建模

    用于SD-ADC后级的降采样数字滤波器 说明 第六届集创赛芯海杯赛题对数字滤波器的要求不是很高,记录一下从Matlab搭建模型到Verilog HDL代码实现,到一部分后仿的过程. Matlab-Si ...

  3. ECCV 2020 Oral | 可逆图像缩放:完美恢复降采样后的高清图片

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文介绍的是ECCV 2020 Oral论文<Inverti ...

  4. Invertible Image Rescaling 可逆图像缩放:完美恢复降采样后的高清图片(ECCV 2020 Oral )

    论文地址:https://arxiv.org/pdf/2005.05650.pdf 开源代码:https://github.com/pkuxmq/Invertible-Image-Rescaling( ...

  5. 降采样,过采样,欠采样,子采样,下采样,上采样,你学会了吗?【总结】

    降采样: 2048HZ对信号来说是过采样了,事实上只要信号不混叠就好(满足尼奎斯特采样定理),所以可 以对过采样的信号作抽取,即是所谓的"降采样". 在现场中采样往往受具体条件的限 ...

  6. 我们成功给OpenCV添加了三维点云降采样算法!

    作者:阮业淳,钟万里,张昌圳(本科生) 指导教师:于仕琪 南方科技大学计算机科学与工程系 知名开源计算机视觉库OpenCV(Open Source Computer Vision Library)在其 ...

  7. 奈奎斯特抽样频率 matlab仿真,奈奎斯特采样定理、降采样、过采样

    奈奎斯特采样定理 fs >= 2fH 根据奈奎斯特采样定理,需要数字化的模拟信号的带宽必须被限制在采样频率fs的一半以下,否则将会产生混叠效应,信号将不能被完全恢复.这就从理论上要求一个理想的截 ...

  8. 点云降采样(DownSampling)

    点云降采样 1 概述 三维点云往往包含大量冗余数据,直接处理计算量大,消耗时间长,因此对其进行降采样是十分必要的.降采样同时也是点云预处理过程中的关键环节. 2 常用方法 2.1 体素网格下采样 2. ...

  9. echarts-sampling降采样

    今天修改一个echarts的渲染效率问题. 首先修改请求数据的问题,原先的逻辑是点击的时候请求数据,我看了下数据大概有七千多条,请求耗时是1.6s-1.7s,这是在我的电脑上.同事反馈在他的电脑上需要 ...

最新文章

  1. 浅谈TCP的窗口字段
  2. linux常用运维命令【转】
  3. python虚拟环境搭建mac_mac搭建python virtualenv虚拟环境并使用 - 李金龙
  4. 魔方内部长啥样?三维动画展示其结构,谁发明的真是个天才
  5. c#不可忍受之慢——谁是罪魁祸首
  6. android--------自定义控件 之 组合控件篇
  7. 沧小海笔记之PCIE协议解析——第二章 详述PCIE事务层
  8. Python实现离线字典+听写单词(二):字典数据写进sqlite
  9. grep的常用和次常用选项
  10. 关于Java单例模式的思考
  11. 构造-牛客寒假集训营3-牛牛的DRB迷宫II
  12. 视频加密大全服务条款
  13. 【数据压缩】WAV文件和AVI文件格式分析
  14. 一个行程问题与对应的数列求和
  15. 四种方法搞定电脑数据备份
  16. 大数据学习笔记(一)——大数据概述
  17. 一文读懂:快速入门机器学习,基础向
  18. 9.1 了解导航窗格
  19. 蓝桥杯经典算法 不定方程解法 蓝桥杯练习系统 历届试题 买不到的数目
  20. 技嘉主板设置硬盘启动操作教程

热门文章

  1. 常用的 集成开发环境 IDE
  2. 台式机怎样用无线网卡
  3. ABB机器人socket通讯
  4. 外键表显示在html,外键约束怎么写
  5. GitHub网站注册与登陆
  6. 操作指南:备份软件 FreeFileSync
  7. C++ opencv之图像直方图(calcHist)
  8. 如何更换程控交换机的人工铃声
  9. 对话一线从业者,AIGC“入侵”设计界,哪些岗位被颠覆,如何“突出重围”丨圆桌实录...
  10. Redis变慢问题原因总结