局部阈值化
更新于 2015.06.01
设计
局部阈值化
版本
1.0
更改于
2015-05-22
源文件
IP-GUI
功能
通过局部滤波器的结果进行局部阈值化。
将会在两个输入使能都有效后的1个周期后给出第一个输出,参考使能必须在输入使能后有效!
文件
名字 | 功能 |
---|---|
ThresholdLocal.v | 顶层文件 |
ThresholdLocal_TB.sv | 测试平台 |
参数
名字 | 类型 | 范围 | 默认值 | 说明 |
---|---|---|---|---|
work_mode | 无符号 | 0为流水线模式,1为请求响应模式 | 0 | 工作模式 |
in_window_width | 无符号 | 1 - 15 | 1 | 如果输入像素以窗口中心的形式输入,则是窗口宽度,否则为1。 |
color_width | 无符号 | 1 - 12 | 8 | 色彩位宽。 |
max_delay | 无符号 | 取决于可能的延迟 | 8 | 像素使能到阈值使能之间可能的最大延迟周期。 |
max_delay_bits | 无符号 | 取决于延迟周期 | 4 | 延迟周期的位宽。 |
端口
名字 | 端口 | 类型 | 范围 | 默认值 | 说明 | clk | 输入 | 无符号 | 无 | 无 | Clock. |
---|---|---|---|---|---|
rst_n | 输入 | 无符号 | 无 | 无 | 复位,低有效。 |
in_enable | 输入 | 无符号 | 无 | 无 | 输入数据使能,在流水线模式下,它是另一个复位信号,在请求响应模式下,只有在它有效的时候in_data才会被真正地改变。 |
in_data | 输入 | 无符号 | color_width * in_window_width * in_window_width - 1 : 0 | 无 | 输入数据,必须和in_enable同步输入。 |
ref_enable | 输入 | 无符号 | 无 | 无 | 阈值数据使能。 |
ref_data | 输入 | 无符号 | color_width - 1 : 0 | 无 | 阈值数据,必须和ref_enable同步输入。 |
out_ready | output | 无符号 | 无 | 无 | 输出数据有效,在两种模式下,这个信号都会在out_data可以被读取的时候有效。 |
out_data | output | 无符号 | color_width - 1 : 0 | 无 | 输出数据,将会和out_ready同步输出。 |
仿真
Simulations for this module just support Gray-scale images !
波形
流水线模式
请求响应模式
原始图像
结果图像
左侧为请求响应模式下的HDL功能仿真结果,中间为流水线模式下的HDL功能仿真结果,右侧为软件仿真结果
源来自于均值滤波器,左边是3x3的窗口,右边是5x5的窗口
源来自于中值滤波器,左边是3x3的窗口,右边是5x5的窗口
11x11的窗口,左边源来自于均值滤波器,右边来自于中值滤波器
PSNR
1-3-mean | 1-3-mid | 1-5-mean | 1-5-mid | 2-3-mean | 2-3-mid | 2-5-mean | 2-5-mid | Total |
---|---|---|---|---|---|---|---|---|
1000000.00 | 1000000.00 | 1000000.00 | 1000000.00 | 1000000.00 | 1000000.00 | 1000000.00 | 1000000.00 | 1000000.00 |
资源消耗
3x3的窗口。
Slice LUTs* | Slice Registers |
---|---|
39 | 70 |
时序
3x3的窗口。
最大的数据路径延迟为3.187ns,所以:
FMax = 313.77MHz
感谢
用于仿真的图像:
H2SO4-蝶
パセリ-Favour