自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(113)
  • 资源 (4)
  • 收藏
  • 关注

原创 图像处理之HSV

HSV 为另一个颜色表示空间,RGB和CMY颜色模型都是面向硬件的,而HSV(Hue Saturation Value)颜色模型是面向用户的。HSV模型的三维表示从RGB立方体演化而来。设想从RGB沿立方体对角线的白色顶点向黑色顶点观察,就可以看到立方体的六边形外形。六边形边界表示色彩,水平轴表示纯度,明度沿垂直轴测量。OPENCV BGR格式换算到HSV空间的方法:max_v = max(...

2019-10-30 17:14:25 5671 1

原创 python 练习题(持续更新)

1. 产生一个随机数列表import randoml = [ random.randint(-10,10)]2. 产生一个字母为key,数字为value的字典d = {x:random.randint(0,10) for x in 'abdcefg' }4. 筛选出l 中大于0的数字[ x for x in l if x > 0]orfilter( lam...

2019-09-26 10:13:12 392

原创 builder 模式

构建者模式 是简化用户的过度参与才能一个穿件对象,这样对象的创建细节用户不用知道,可以抽象出一类产品的创建。························································································································场景描述:以鱼、青菜为材料做一道菜,厨...

2019-08-30 09:30:51 299

原创 git clone失败问题解决方案

在执行git clone 时root@cdndev08:/media/share/webrtc-checkout# git clone https://chromium.googlesource.com/chromium/tools/depot_tools.gitCloning into ‘depot_tools’…remote: Sending approximately 19.44 Mi...

2019-08-28 11:15:04 3259

原创 小顶堆构建过程

学习了很多小顶堆的代码问题,很多都理解起来不顺畅!找到一个很容易记忆理解大代码实现,就是从第一个子节点开始遍历,与其父节点比较,如果比父节点大的情况下,就上浮到父节点,此时父节点继续上浮,只到根节点。int parent(int n){ return (n-1)/2;}void buildHeap(int n , int data[]){ for(int i= 1; i...

2019-07-12 10:23:36 9047

原创 scons交叉编译构建脚本写法

ARM linux交叉编译scon构建脚本,用到了C , C++ 混编,静态库链接。目标链接选项基本都是list, 在使用 + 对多路径 多目标的使用的时候需要注意import copyimport os#env = Environment(ENV = os.environ)env = Environment( CC = 'aarch64-himix100-linux-')env_opt...

2019-06-13 16:34:55 3332

原创 yolov3的yolo层理解

yoloV3在经过多个卷积和上采样之后最终得到的是三个卷积结果,每一个卷积结果的长和宽分别是(13x13,26x26,52x52),深度信息是 [4(box信息)+1(物体判别信息)+80(classNum置信度)] *3(每个点上面计算几个anchor)yolo层的作用就是对这些信息进行解码操作。首先需要明白的是yolo层对3个anchor box信息不去重,如果三个anchor 都满足条件的...

2019-06-12 11:07:31 9867 2

原创 两数相加 C++实现

自己从头撸起在Linux环境下用vim 把题目实现,因为对链表和指针都开始遗忘,还是学习到了很多细节。对C++的基础知识还是很多帮助。#include <iostream>#include <vector>#include <assert.h>using namespace std;struct listNode{    int ...

2019-05-09 18:02:21 3479

原创 TensorRT plugin实现总结

继承IPluginExt 并重写一系列虚函数,包括:getNbOutputs 该层返回输出的张量个数,getOutputDimensions返回输出的张量维度(返回多个张量咋写? 估计会根据index返回不同的Dims结构),configureWithFormat 根据数据个数做出一些调整,反正会传入一个DataType参数,看程序是否需要做一些调整。initialize 做一些初始...

2019-05-07 11:25:34 9654 1

原创 Cuda atomic操作

注意:函数运算完之后,会将运算结果保存在第一个参数指针指定的空间位置,返回的是old值。int atomicAdd(int* address, int val);unsigned int atomicAdd(unsigned int* address,unsigned int val);unsigned long long int atomicAdd(unsigned long long ...

2019-05-07 10:31:41 1180

原创 c++ lamda表达式使用笔记

C++ lamda 表达式的 [][ ]中可以使用 = 和 & 会有不同的效果= 表示按值传递& 表示安装引用传递如果使用了& 并在 lamda 中改变了局部变量, 外围是可以感受到状态改变的#include <iostream>#include <vector>//#include <iterator>#in...

2019-05-06 19:49:10 3047

原创 tensorRT 中的推理得分函数分析

分析TensorRT中的int8量化代码中的推理结果统计分析代码,输出推理结果中top1和 top5的统计情况int calculateScore(float* batchProb, float* labels, int batchSize, int outputSize, int threshold){ int success = 0; for (int i = 0; i &...

2019-04-30 16:18:16 2886 1

原创 cuda 和 C++ 文件混编Makefile 实现

.PHONY: all cleanCUDA_LIB_DIR := /usr/local/cuda/lib64LIBS += -lcudartLIBS += -lcudaCU_SRCS := $(wildcard *.cu)CU_OBJS := $(CU_SRCS:%.cu=%.o)C_SRCS := $(wildcard *.cpp)C_OBJS := $(C_SRCS:%.c...

2019-04-25 14:16:14 2429

转载 Linux thread_info 和 current task_struct

对每个进程,Linux内核都把两个不同的数据结构紧凑的存放在一个单独为进程分配的内存区域中:一个是内核态的进程堆栈,另一个是紧挨着进程描述符的小数据结构thread_info,叫做线程描述符。在较新的内核代码中,这个存储区域的大小通常为8192个字节(两个页框)。在linux/arch/x86/include/asm/page_32_types.h中,#define THREAD_SIZE_O

2017-12-07 08:59:15 1247

原创 c++ 桥接模式实例

桥接模式的UML如下图 为了解决多个变量存在的时候出现的耦合问题,类按照自己的因素抽象出接口,同时在Abstraction类中存在Impletor 抽象类的指针, Abstraction的具体实现中调用该指针的接口 函数。现有下问题,图像吸收的能量跟图形的颜色有关,同时跟图形的面积相关。假设有红色和黑色的矩形和圆,要分别计算在给定一个颜色能量因子的时候他的能量大小。首先定义一个抽象类shap

2017-11-14 18:03:03 763

转载 图像插值

在图像的基本仿射变换中,经常会碰到经过旋转、缩放后灰度值如何赋值的问题。因为变换之后,图像的坐标位置有可能是小数,所以就需要插值算法来确定到底将该像素赋予哪个位置。1、最邻近插值法(Nearest Interpolation)这是最简单的一种插值方法,不需要计算。在待求像素的四邻像素中,将距离待求像素最近的邻接像素灰度值赋予待求像素。设i+u, j+v(i, j为正整数, u, v

2017-11-03 11:51:56 473

原创 ucos 获取查找最高优先级任务算法

全局变量OSRdyGrpOSRdyTbl其中OSRdyGrp是一个8bit的全局变量,标志哪一个分组的任务就绪 OSRdyTbl是一个全局数组,标志组内的任务对应位是否就绪然后通过一个数组来查找最低位所在的位置。数组具体为:INT8U const OSUnMapTbl[256] = { 0, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,

2017-09-27 15:13:59 1364

原创 stm32 systick

cortex-m 系列cpu都有一个systick 模块,这是arm 设计中的组件,方便了软件在同系列的arm cpu上的移植以stm32f4xx的单片机为例,systick 可以被配置位两种时钟源, AHB总线时钟或者, AHB总线时钟的8分频。systick的load寄存器实现计数器的重装 systick的value寄存器表示当前的计数值每次计数满了的情况下会产生一个 SysTick_Hand

2017-09-26 14:05:49 536

转载 Linux RCU 实现

RCU(Read-Copy Update)是数据同步的一种方式,在当前的Linux内核中发挥着重要的作用。RCU主要针对的数据对象是链表,目的是提高遍历读取数据的效率,为了达到目的使用RCU机制读取数据的时候不对链表进行耗时的加锁操作。这样在同一时间可以有多个线程同时读取该链表,并且允许一个线程对链表进行修改(修改的时候,需要加锁)。RCU适用于需要频繁的读取数据,而相应修改数据并不多的情景,例如

2017-09-14 09:56:42 653

原创 Qt 防止进程多开

从github上下载qt solution工程,https://github.com/qtproject/qt-solutions把其中的\qtsingleapplication添加到自己的工程,改写主程序:// Original int main(int argc, char **argv) { QApplication app(argc, argv);

2017-08-10 10:20:13 856

原创 FPGA串行被动配置

原理框图: 外部主机通过下拉PROG_B启动配置并检测INIT_B 电平,当INIT_B 为高时,表明FPGA 做好准备,开始接收数据。此时,主机开始提供数据和时钟信号直到FPGA 配置完毕且DONE 管脚为高,或者INIT_B 变低表明发生配置错误才停止。整个过程需要比配置文件大小更多的时钟周期,这是由于部分时钟用于时序建立,特别当FPGA 被配置为等待DCM锁存其时钟输入图中标记信号需要接

2017-08-10 10:18:39 1653

原创 qt文件清空方法

#include <QtGui/QApplication>#include "mainwindow.h"#include <QDebug>#include <QFile>#include <iostream>//效果:打开当前目录下的file文件读出里面的内容并将其内容清空置1int main(int argc, char *argv[]){ QApplication a(ar

2017-08-10 09:37:48 22765 4

原创 Qt IP输入控件

Qt 本身不带IP输入控件,刚开始使用的代码发现位置调整有问题。最后找到了一个写得很好的代码,加上自己的修改:head_file#include <QFrame>#include <QLineEdit>#include <QIntValidator>//#include "stdint.h"#include <QHBoxLayout>#include <QFont>#include <Q

2017-08-07 17:49:59 3889 1

转载 MarkdownPad2 不能渲染的问题解决方法

在win10上安装MarkdownPad2 时,出现如下的错误信息:HTML渲染组出错,这个问题可以通过安装某个缺失组件来解决,是否想要了解详细信息?MarkdownPad 的FAQ文档中给出了解决办法:http://markdownpad.com/faq.html#livepreview-directxLivePreview is not working - it d

2017-07-14 10:18:27 4525

原创 线上实用工具大全

http://tool.520101.com/calculator/jsq/  实用工具大全很多实用工具

2017-06-06 16:37:10 501

原创 Linux 下Altera SPI驱动使用note

配置SPI关于Clock相位和极性的说明device tree的描述spi_0: spi@0x100000100 { compatible = "altr,spi-16.1", "altr,spi-1.0"; reg = <0x00000001 0x00000100 0x00000020>; interrupt-parent = <&hps_0_arm_gic_0>;

2017-06-06 15:49:42 741

原创 Qsys中部分IP在svd文件中没有描述的问题

有人反应在Qsys中加了IP之后,在svd 中没有看到相关的描述信息,这样在DS-5中调试也看不到寄存器信息,我试图找出这个问题的原因。也提出一点自己的解决思路。首先看下文档: https://documentation.altera.com/#/00088891-NT$NT00064410里面有一节的标题是:include an Internal Register Map Description

2017-06-06 15:47:47 677 1

转载 nand flash 使用

以Micron公司的MT29F2G08为例介绍NAND Flash原理和使用。1. 概述        MT29F2G08使用一个高度复用的8-bit总线(I/O[7:0])来传输数据、地址、指令。5个命令脚(CLE、ALE、CE#、WE#)实现NAND命令总线接口规程。3个附加的脚用作: 控制硬件写保护(WP#)、监视芯片状态(R/B#),和发起上电自动读特征(PRE-仅3V芯片

2017-06-02 17:47:10 2919

转载 基于TI Davinci架构的双核嵌入式应用处理器OMAPL138开发入门

一、简介TI的达芬奇架构嵌入式应用处理器使用DSP与ARM结合的非对称多核结构,当然现在也有管脚全兼容的单核。本文要介绍的就是其中的一款低功耗处理器OMAP L138。OMAP L138包括一个主频300M的ARM9处理器内核和一个300M的C6748DSP内核(均是32位处理器)。此外还有大量外设在此不做说明,与通用的ARM与DSP内核相比有如下一些不同点:1.内存映

2017-06-02 11:31:49 1615

转载 C++ 策略模式

策略模式(Strategy):它定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法的变化不会影响到使用算法的客户。(原文:The Strategy Pattern defines a family of algorithms,encapsulates each one,and makes them interchangeable. Strategy lets th

2017-05-24 09:26:26 627

转载 C++笔试题目大全

1.new 、 delete 、 malloc 、 free 关系delete 会调用对象的析构函数 , 和 new 对应 free 只会释放内存, new 调用构造函数。 malloc 与 free 是 C++/C 语言的标准库函数, new/delete 是 C++ 的运算符。它们都可用于申请动态内存和释放内存。对于非内部数据类型的对象而言,光用 maloc/free 无法满足动态对象

2017-05-17 16:50:06 2514

转载 Qt学习之路(37): Qt容器类之关联存储容器

http://devbean.blog.51cto.com/448512/248373今天我们来说说Qt容器类中的关联存储容器。所谓关联存储容器,就是容器中存储的一般是二元组,而不是单个的对象。二元组一般表述为,也就是“键-值对”。 首先,我们看看数组的概念。数组可以看成是一种形式的键-值对,它的Key只能是int,而值的类型是Object,也就是任意类型(

2017-05-09 17:19:48 304

转载 qt 代码中简化槽的代码量

在某些情况下代码的重复性很高,需要简化代码写法,可以把每个信号连接到同一个槽,然后在槽函数中通过qobject_cast实例:1、在Qt creator中拖拽出如下界面:2、添加槽函数。[cpp] view plain copy print?private slots:      void 

2017-05-09 09:45:05 437

转载 Qt4过渡至Qt5

技术在不断进步,新知识也理应不断学习!Qt5的发布带给我无尽的好奇心,然而,受项目影响,一直使用VS2008+Qt4.8.3也未曾及时更新。这几天,果断装上VS2010+Qt5.1.0,开始研究。 Qt4过渡到Qt5不算显著, 然而,“模块化”的Qt代码需要项目配置的变化,如使用“ headers ”,和配置项目构建( 如改变*.pro文件 )。QtWidgets作为一个独立的模块

2017-05-08 19:02:52 476

原创 QT event 使用

QT event 是一种机制,可以重新实现对象的 mouse(Press/Release/Move/DoubleClick)Event(QMouseEvent *e);keyEventpaintEvent这里重新实现MainWindow对象跟踪鼠标事件,并显示出来#include <QMainWindow>#include <QLabel>#include <QMouseEvent>#in

2017-05-08 15:53:44 3608

原创 Qt 命令行编译程序步骤

Qt 命令行编译程序步骤

2017-05-08 11:39:07 1623

转载 QList 用法

QList是一种表示链表的模板类。QList是Qt的一种泛型容器类。它以链表方式存储一组值,并能对这组数据进行快速索引,还提供了快速插入和删除等操作。QList、QLinkedList和QVector提供的操作极其相似:* 对大多数操作来说,我们用QList就可以了。其API是基于索引(index)的,因此用起来比QLinkedList更方便(QLinkedList的API是基于迭

2017-04-19 10:06:04 27247

转载 qml hight 设置

发现CSDN上翻译的qml book 中得listview 实用的时候,highlight属性适用的时候没有效果,发现这么一篇文章可以帮助解决问题,不过效果并不很理想。但是还是有参考价值QML提供有列表控件ListView,最近在使用的时候还是发现Highlight属性比较奇怪,按着下面的例子:[cpp] view plain copy

2017-04-09 15:16:18 621 1

原创 qt quick 串口终端程序(qml 与 c++交互实例)

qt quick 串口终端通过c++ 与qml 之间的通信实现串口终端软件。qml 实现数据显示和人机设定界面,需要在c++中实现串口的操作和状态的更新。qml中通过把设定界面的是否可见进行设定。可见的时候显示需要设定的参数 然后点击apply 按钮打开串口。串口的打开需要通过C++ 类中指定了 Q_INVOKABLE 的方法。并在主程序中设定了QtQuick2ApplicationViewer的

2017-04-06 16:24:00 5436

原创 qml state 使用

qml 中每个item 都有一个state,个人理解在item中设定的属性值即为默认state,如果在程序运行中需要更改这些属性的时候就可以通过 调用定义的states 中的某个state.这样原比widghts中一个个设定属性来得快,代码管理也轻松很多

2017-04-06 09:22:54 950

线性代数基础

线性代数基础 英文版本,正在补习线性代数 和 martix coding 配合看

2018-06-14

serial to usb controller D 驱动

serial to usb controller D 驱动,亲测可用

2017-06-14

康内尔大学SoCPGA自学资料

康奈尔大学编写的DE1SoC 自学手册,非常基础的一步步讲解怎么用HPS控制FPGA

2016-12-06

SoC-FPGA Design Guide(DE1_SoC).pd

英文SoCFPGA基础开发教程,整理得非常好,很详细的教程,适合刚接触SoCFPGA的初级开发者

2016-12-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除