有空了设计一个hls的图像处理IP. 通过hls设计ip模块实现opencv的图像处理. 对比软件和硬件的图像处理速度.…
Java虚拟机JVM学习07 类的卸载机制 类的生命周期 当Sample类被加载.连接和初始化后,它的生命周期就开始了. 当代表Sample类的Class对象不再被引用,即不可触及时,Class对象就会结束生命周期,Sample类在方法区内的数据也会被卸载,从而结束Sample类的生命周期. 由此可见,一个类何时结束生命周期,取决于代表它的Class对象何时结束生命周期. 引用关系 加载器和Class对象: 在类加载器的内部实现中,用一个Java集合来存放所加载类的引用. 另一方面,一个Clas…
原文:ThinkPhp学习07 简单CRUD操作 public function show() { $m=M('User'); // $arr=$m->find(2); //查找id=2的数据,find只能返回一条数据 //2.SELECT * FROM `tp_user` WHERE ( sex=1 ) // $arr=$m->where('sex=1')->select(); //3.INSERT INTO `tp_user` (`username`,`sex`) VALUES ('…
kmeans算法的原理参考:http://www.cnblogs.com/mikewolf2002/p/3368118.html 下面学习一下opencv中kmeans函数的使用.      首先我们通过OpenCV中的随机数产生器RNG,生成一些均匀分布的随机点,这些点的位置对应一副图像中的像素位置,然后使用kmeans算法对这些随机点进行分类,并计算出分类簇的中心点.      随机产生的簇的数量是2到5之间的值,采样点的数量范围是1-1000,一维矩阵centers存放kmeans算法结束…
创芯Xilinx Microblaze 学习系列第一集 Xilinx ISE Design Suite 13.2 The MicroBlaze™ embedded processor soft core is a reduced instruction set computer (RISC) optimized for implementation in Xilinx® Field Programmable Gate Arrays (FPGAs). Figure 2-1 shows a func…
Xilinx SDSoc 加载opencv库需要下载两个文件 xfopencv 和 Revision Platform, Revision Platform需要和具体的开发板型号对应,我用的是zcu102开发板. 1.xfopencv : github地址 https://github.com/Xilinx/xfopencv 2.revision platform : https://www.xilinx.com/member/forms/download/design-license-xef.…
<Xilinx约束学习笔记>为自己阅读 Xilinx 官方 UG903 文档后的学习笔记,大多数为翻译得来,方便大家学习. 1 约束方法学 1.1 组织约束文件 Xilinx 建议将时序约束和物理约束分开保存为两个不同的文件.甚至可以将针对某一个模块的约束单独保存在一个文件中. 1.1.1 综合和实现可以使用不同的约束文件 可以使用 USED_IN_SYNTHESIS 和 USED_IN_IMPLEMENTATION 属性指定约束文件是在综合或实现过程中使用. 注意:特别是IP.DCP这类使用…
openCV是因特尔的一个开源的视觉库,里面几乎包含了所有的图像处理的经典算法,并且采用C和少量的C++编写,运行效率很高,对于做图像处理这方面工作的,认识opencv是必须的工作.不过opencv有个很大的不足,这在于它几乎没有提供gui这方面接口,很难满足目前应用程序开发的需要,而万恶的MFC框架丑陋的界面也成为了我的噩梦,MFC与opencv和界面优化几乎让我在图像处理这一块儿无法动弹. C#是.net平台上的明星语言,可以很容易做出漂亮的界面.EmguCV是将opencv封装的一个.ne…
阅读对象:对概率论中的期望有一点了解. 1.图像几何矩 1.1简述 图像的几何矩包括空间矩.中心矩和中心归一化矩.几何矩具有平移.旋转和尺度不变性,一般是用来做大粒度的区分,用来过滤显然不相关的图像. 1.2用数学语言阐述图像的几何矩 针对于一幅图像,我们把像素的坐标看成是一个二维随机变量(X,Y),那么一幅灰度图像可以用二维灰度密度函数来表示,每个像素点的值可以看成是该处的密度,对某点求期望就是该图像在该点处的矩(原点矩),一阶矩和零阶矩可以计算某个形状的重心,二阶矩可以计算形状的方向,因此可…
一直来,都是使用Vivado中自带的GMIItoRGMII IP核来完成GMII转RGMII的功能:尽管对GMII及RGMII协议都有一定的了解,但从没用代码实现过其功能.由于使用IP时,会涉及到MDIO配置IP寄存器的问题,觉得麻烦.因此决定用代码实现GMII转RGMII的功能. 参考Lattice的开源代码,进行移植.移植后在Vivado中进行编译时没有问题,但一旦进行实现(Implementation)时就会有如下错误: [Place 30-574] Poor placement for…