首页 > 其他分享 >基于FPGA的图像累积直方图verilog实现,包含tb测试文件和MATLAB辅助验证

基于FPGA的图像累积直方图verilog实现,包含tb测试文件和MATLAB辅助验证

时间:2024-04-24 22:57:34浏览次数:17  
标签:FPGA clk 直方图 verilog 图像 ready reg

1.算法运行效果图预览

 

 

 

 

2.算法运行软件版本

Vivado2019.2

 

matlab2022a

 

3.算法理论概述

       图像累积直方图是一种重要的图像特征表示方法,它统计了图像中像素值累加分布的情况,广泛应用于图像增强、对比度调整、颜色校正、图像分割、目标检测等领域。FPGA作为一种高性能、低功耗的可重构硬件平台,其并行处理能力和可定制化特性使得其在图像处理任务中展现出高效能优势。

 

       给定一幅灰度图像I(或彩色图像的某一通道),其尺寸为M×N,像素值范围为[0,−1][0,L−1],其中L为量化级别(如8位图像中L=256)。图像累积直方图H是一个长度为L的数组,其第k个元素H[k]表示图像中像素值小于等于k的像素个数之和。数学表达如下:

 

 

 

4.部分核心程序

`timescale 1ns / 1ps
//
// Company: 
// Engineer: 
// 
 
// Design Name: 
// Module Name: test_image
// Project Name: 
// Target Devices: 
// Tool Versions: 
// Description: 
// 
// Dependencies: 
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
 
 
module test_image;
 
reg i_clk;
reg i_rst;
reg i_ready;
reg [7:0] Tmp[0:100000];
reg [7:0] datas;
wire[15:0]o_hist;
wire[23:0]o_cumhist;
integer fids,jj=0,dat;
 
//D:\FPGA_Proj\FPGAtest\code2
 
initial 
begin
	fids = $fopen("D:\\FPGA_Proj\\FPGAtest\\code\\data.bmp","rb");
	dat  = $fread(Tmp,fids);
	$fclose(fids);
end
 
initial 
begin
i_clk=1;
i_rst=1;
i_ready=0;
#1000;
i_ready=1;
i_rst=0;
#655350;
i_ready=0;
end 
 
always #5  i_clk=~i_clk;
 
always@(posedge i_clk) 
begin
	datas<=Tmp[jj];
	jj<=jj+1;
end
 
 
im_hist im_hist_u(
.i_clk    (i_clk),
.i_rst    (i_rst),
.i_ready  (i_ready),
.i_xin    (datas),
.o_hist   (o_hist), 
.o_cumhist   (o_cumhist)
);
 
 
endmodule

  

标签:FPGA,clk,直方图,verilog,图像,ready,reg
From: https://www.cnblogs.com/matlabworld/p/18156548

相关文章

  • 创新的FPGA:LAV-AT-E70-1CSG841C、LAV-AT-E70-2CSG841C、LAV-AT-E70-3CSG841C旨在实现
    Avant-E专为网络边缘处理而生Avant™-E系列中端FPGA是基于16nmFinFET工艺Avant平台推出的首款产品。该平台经过优化可提供同类FPGA产品中领先的低功耗、小尺寸和高性能。Avant-EFPGA旨在实现低延迟的网络边缘设备,非常适合有着明确时序要求的应用,包括工业环境中的机器视觉、机器......
  • mipi dsi4线720P国产gowin lattice crosslink配套屏Fpga dsi
     1.产品概述    显示屏LCDMIPIDSI4lane,支持分辨率720*1280,60HZ彩色显示。用于对接国产GOWIN的NR-9C的开发板和LATTICE的CROSSLINK开发板,显示MIPIDSI 功能。      MIPIDSI是4-LANE,MIPI速率在480MHZ。支持LP模式初始化和HS模式显示数据发送。    ......
  • 基于EP4CE6F17C8的FPGA矩阵键盘实例(另类方法)
    一、电路模块电路模块参见“基于EP4CE6F17C8的FPGA矩阵键盘实例”部分。二、实验代码本例使用6个数码管依次显示按下按键的键值,每位显示的值可从0~F,对应16个矩阵按键。按键reset为复位键,代码使用Verilog编写,具体如下。先编写数码管实现显示字形解码的程序,模块名称为seg_decode......
  • m基于FPGA的多通道FIR滤波器verilog实现,包含testbench测试文件
    1.算法仿真效果VIVADO2019.2仿真结果如下:   系统RTL结构如下:   2.算法涉及理论知识概要       多通道FIR(FiniteImpulseResponse)滤波器是一种在数字信号处理中广泛应用的线性时不变滤波技术,尤其适用于多通道音频、视频、图像等多维数据的处理。   ......
  • Verilog语言学习(自用
    HDR:硬件描述语言高级程序语言,通不过对数字电路和系统描述,可以对数字集成电路进行设计和验证主要功能:数字集成电路设计工程师可以根据电路的特点,采用层次化的设计结构,将抽象的逻辑功能用电路的方式进行实现。 VerilogHDL(美):思维开放-->语法形式比较灵活,宽松度高(不适合大规模集......
  • SystemVerilog -- 6.2 Interface Bundles
    Introduction涵盖了对接口的需求,如何实例化接口并将其与设计连接起来。设计有两种编写方式:通过使用现有接口名称专门使用该接口通过使用可以将任何接口传递到的泛型接口句柄显然,当接口定义更新到具有不同名称的较新版本时,泛型方法效果最佳,并且需要支持使用它的旧设计。Examp......
  • 直方图与核密度估计
    技术背景直方图是一种经常被用于统计的图形表达形式,简单来说它的功能就是用一系列的样本数据,去分析样本的分布规律。而直方图跟核密度估计(KernelDensityEstimation,KDE)方法的主要差别在于,直方图得到的是一个离散化的统计分布,而KDE方法得到的是一个连续的概率分布函数。如果将得......
  • FPGA器件实现逻辑运算的基本原理是(   )。
    选项:A、采用最小项相加的电路形式实现逻辑运算B、采用与非门电路实现逻辑运算C、采用异或门电路实现逻辑运算D、采用查找表的方式实现逻辑运算答案:D解析:组成FPGA的两个最基本的部分是组合逻辑以及时序逻辑,分别实现这两个基本部分的结构就是FPGA的基本单元。组合逻辑......
  • 具有低功耗、小尺寸和高可靠性,LIFCL-40-9MG121I、LIFCL-40-8MG121I、LIFCL-40-7MG121I
    说明CrossLink-NXFPGA是首款采用Nexus技术平台设计的产品系列,为网络边缘开发工程师提供实现创新的嵌入式视觉解决方案所需的更低功耗、小尺寸和高可靠性。该系列采用低功耗28nmFD-SOI技术,具有小尺寸、高可靠性和出色的性能。该器件适合用于各种应用,包括嵌入式视觉。应用包......
  • FPGA入门笔记013——嵌入式块RAM使用之FIFO
    1、FIFO概述​ FIFO(FirstInFirstOut),即先进先出。FPGA或者ASIC中使用到的FIFO一般指的是对数据的存储具有先进先出特性的一个缓存器,常被用于数据的缓存或者高速异步数据的交互。它与普通存储器的区别是没有外部读写地址线,这样使用起来相对简单,但缺点就是只能顺序写入数据......