vivado HLS ORB算法设计实现----质心求取主方向
来源:互联网 发布:mac 全角空格 编辑:程序博客网 时间:2024/05/17 19:15
在采用HLS进行设计的时候,必须要先了解它本身架构的数据处理流程,比如hls:stream这个数据流结构,HLS里面所有的例程都是根据这种数据流进行处理的。
由于fast算法里面已经有实现的封装库了,所以不需要实现,省了好多的事,而金字塔里面也有现成的函数实现,接下来需要做的是进行主方向求取。这个主方向求法,是求知心来确定主方向。
目前,实现方法是采用两个31*31的mask去滤波实现,求取m10和m01,然后调用atan函数求出角度。 m10实现如下:
void m01_filter(IMAGE_C1& src, IMAGE_S1& dst) {
hls::Filter2D(src,dst, kernel, anchor);
}
其他的类似!!
方法2:
可以利用stream数据流 截留设计:仅供参考
int MS10=0,MS01=0;
int x=1178,y=129;
LOOp_ROWS:for(int row = 0; row < rows ; row++)
{
//#pragma HLS loop_flatten off
LOOp_COLS:for(int col = 0; col < cols; col++)
{
//#pragma HLS pipeline II=1
if(row < rows && col < cols) {
//img_3 >> m10_src_data;
//img_4 >> m01_src_data;
img_src1 >> temp1;
}
if((114<=row&&row<=144)&&(1163<=col&&col<=1193))
{
}
if((row==144)&&(col==1193))
{
float angle0=hls::atan2f(float(MS01),float(MS10));
printf("MS10=%d\n",MS10);
printf("MS01=%d\n",MS01);
printf("angle0=%f\n",angle0);
}
}
}
float angle0=hls::atan2f(MS01,MS10);
printf("MS10=%d\n",MS10);
printf("MS01=%d\n",MS01);
printf("angle0=%f\n",angle0);
- vivado HLS ORB算法设计实现----质心求取主方向
- 使用VIVADO HLS工具封装ORB算法
- HLS ORB算法设计心得
- vivado HLS 设计实现sBrief描述子
- vivado hls fft设计
- Vivado Hls 设计分析
- Vivado Hls 设计优化
- Vivado Hls 设计分析
- 基于Vivado HLS在zedboard中的Sobel滤波算法实现
- Vivado Hls 设计流程总结
- Vivado HLS之滤波器实现
- Vivado HLS之海明窗实现
- 使用Vivado HLS实现OpenCV的开发流程
- Vivado HLS初体验
- Vivado HLS ap_fixed数据类型
- Vivado HLS复合数据类型
- Vivado HLS 入门实验
- vivado HLS入门流程
- 函数计算-建立一个简单的数学计算函数场景
- QT 的基础调试技巧 -- 未完 -- 更新中
- Android Butterknife 8.4.0 使用方法总结
- 如何用jmeter做简单的接口压测---针对需要提前登录的接口
- 解释Java中内存中的栈(stack)、堆(heap)和静态存储区的用法
- vivado HLS ORB算法设计实现----质心求取主方向
- C++】判断一个图是否有环 无向图 有向图(转载)
- C++面向对象(封装,继承,多态)
- 关于unity中的update、Lateupdate和FixedUpdate
- 乐驾 -- 6
- oracle 报错 关于"ORA-00942 表或视图不存在"
- nodeJs——cmd中node不是内部或外部命令
- rabbitmq 管理 及 常用命令
- 独家专访Mockplus CEO老布,原型设计领域的弄潮儿