DSP

【FPGA】ISE实现OTSU算法-调用IP核总结

2019-07-13 18:34发布

1 算法简述

OSTU:统计灰度直方图,然后计算thresh=cnt0cnt1(u0-u1)*(u0-u1);取方差最大作为阈值thresh。其中灰度图像大于thresh作为目标对象数量统计为cnt0,灰度均值为u0,反之则为背景,数量统计为cnt1,灰度值均值为u1。

2 fpga实现

cnt0cnt1(乘法器1) need14clk;参考数据位宽17bit
u0=sum0/cnt0(除法器1)need 6clk;参考数据位宽为25bit/17bit
u1=sum1/cnt1(除法器2) need 6clk;参考数据位宽为25bit/17bit
(u0-u1)
(u0-u1)(乘法器2) 在u0,u1计算出来后需要2clk。
一次计算如下图所示:
在这里插入图片描述

3 fpga调用ip核过程

<1>右击你的工程项目-new source
在这里插入图片描述 <2>选择IP 输入名字随意
在这里插入图片描述
<3>选择你需要的IP核 -假设选择除法器
比如图像处理相关内容就在Image Processing;ram,rom,fifo在memory;加减乘除在math里。
在这里插入图片描述
<4>除法器 -如图点击确定
在这里插入图片描述
<5>查看参考资料-datasheet
在这里插入图片描述
<6>参数填写-根据自己需求
<7>查看ip核Verilog hdl
在这里插入图片描述
<8>例化
在这里插入图片描述 例化传入参数要为wire类型
在这里插入图片描述