基于直方图的图像曝光量分析FPGA实现,包含tb测试文件和MATLAB辅助验证

1.算法运行效果图预览

正常图像:

 

 

 

checkb位于f192b和f250b之间

 

多度曝光图像:

 

 

 

checkb位于f192b和f250b之外,判决为曝光过度。

 

2.算法运行软件版本

vivado2019.2

 

matlab2022a

 

3.算法理论概述

参考资料如下:

 

 

 

主要采用的方法为:

 

 

4.部分核心程序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
`timescale 1ns / 1ps
//
// Company:
// Engineer:
//
  
  
  
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_histb;
wire o_f192b;
wire o_f250b;
wire o_checkb;
wire[23:0]o_hist996b;
wire[23:0]o_histcumb;
integer fids,jj=0,dat;
  
//D:\FPGA_Proj\FPGAtest\code2
  
initial
begin
    fids = $fopen("D:\\FPGA_Proj\\FPGAtest\\code2\\datab.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_histb   (o_histb),
.o_f192b   (o_f192b),
.o_f250b   (o_f250b),
.o_hist996b(o_hist996b),
.o_histcumb(o_histcumb),
.o_checkb  (o_checkb)
);
  
  
endmodule

  

posted @   简简单单做算法  阅读(7)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示