UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

取消
显示结果 
搜索替代 
您的意思是: 
Adventurer
Adventurer
513 次查看
注册日期: ‎06-05-2018

在Sdx中进行图像处理xfOpenCV

转到解答

平台是zed7020,系统是Ubuntu16.04,ISE是Sdx 2018.2。已经成功在Sdx上编译xfOpenCV的例子dilation。当自己对dilation这个例子进行改写时,哪怕只是增加几句:

#include "xf_dilation_config.h"
#pragma SDS data access_pattern("_src.data":SEQUENTIAL, "_dst.data":SEQUENTIAL)
#pragma SDS data copy("_src.data"[0:"_src.size"], "_dst.data"[0:"_dst.size"])
#pragma SDS data mem_attribute("_src.data":NON_CACHEABLE|PHYSICAL_CONTIGUOUS)
#pragma SDS data mem_attribute("_dst.data":NON_CACHEABLE|PHYSICAL_CONTIGUOUS)
void dilation_accel(xf::Mat<TYPE, HEIGHT, WIDTH, NPC1> &_src,xf::Mat<TYPE, HEIGHT, WIDTH, NPC1> &_dst)
{
	xf::Mat<TYPE, HEIGHT, WIDTH, NPC1> img2;
	xf::Mat<TYPE, HEIGHT, WIDTH, NPC1> img3;

	xf::Threshold<XF_THRESHOLD_TYPE_BINARY,XF_8UC1,HEIGHT, WIDTH,NPC1>(_src,img2,30,255,0);
	xf::dilate<XF_BORDER_CONSTANT,TYPE ,HEIGHT, WIDTH,NPC1>(img2, img3);
	xf::erode<XF_BORDER_CONSTANT,TYPE ,HEIGHT, WIDTH,NPC1>(img3,_dst);
}

结果却是编译需要很长很长很长的时间,永无止境,已经从早上9点编译到下午2点,还在编译。。。有人遇到过这种情况吗?

如果只是dilation编译大概只需要十几分钟!为何差距这么大?!

 

 

0 项奖励
1 个已接受解答

已接受的解答
Adventurer
Adventurer
436 次查看
注册日期: ‎06-05-2018

回复: 在Sdx中进行图像处理xfOpenCV

转到解答
不能使用局部变量,如上面代码中的 xf::Mat<TYPE, HEIGHT, WIDTH, NPC1> img2;
而要以参数的方式传进函数。也就是在testbeach中就定义好这个img2,且为static类型。然后传进此函数。即解决了我的编译时间很长很长而且报错说没有资源或不够的问题!
3 条回复3
Adventurer
Adventurer
476 次查看
注册日期: ‎06-05-2018

回复: 在Sdx中进行图像处理xfOpenCV

转到解答
已解决。
0 项奖励
Moderator
Moderator
454 次查看
注册日期: ‎05-23-2018

回复: 在Sdx中进行图像处理xfOpenCV

转到解答

Hi, @wd-hyj

 

可以分享一下你的解决方法吗?

-------------------------------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------------------------------
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
-------------------------------------------------------------------------------------------------
0 项奖励
Adventurer
Adventurer
437 次查看
注册日期: ‎06-05-2018

回复: 在Sdx中进行图像处理xfOpenCV

转到解答
不能使用局部变量,如上面代码中的 xf::Mat<TYPE, HEIGHT, WIDTH, NPC1> img2;
而要以参数的方式传进函数。也就是在testbeach中就定义好这个img2,且为static类型。然后传进此函数。即解决了我的编译时间很长很长而且报错说没有资源或不够的问题!