自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(92)
  • 资源 (2)
  • 收藏
  • 关注

转载 verilog实现乘法器

verilog实现乘法器以下介绍两种实现乘法器的方法:串行乘法器和流水线乘法器。1)串行乘法器 两个N位二进制数x、y的乘积用简单的方法计算就是利用移位操作来实现。其框图如下:其状态图如下:其实现的代码如下:module multi_CX(clk, x, y, result);02     03    input clk;04    input [7:0] x, y;05    output 

2018-01-19 16:42:45 19339 2

转载 verilog中for循环的转化使用

参考总结自Verilog那些事。。。 转摘自:http://blog.chinaaet.com/lincoding/p/5100050055/* 单个for循环 */ ` for ( i=0; i{Act++;}//1、时序实现case ( i )0: begin if ( x == C1 ) begin

2018-01-18 17:14:19 8916

转载 verilog中for语句使用

在C语言中,经常用到for循环语句,但在硬件描述语言中for语句的使用较C语言等软件描述语言有较大的区别。     在Verilog中除了在Testbench(仿真测试激励)中使用for循环语句外,在Testbench中for语句在生成激励信号等方面使用较普遍,但在RTL级编码中却很少使用for循环语句。主要原因就是for循环会被综合器展开为所有变量情况的执行语句,每个变量独立占用寄存器资源,

2018-01-18 17:05:54 25682 2

转载 Equirectangular Projection(ERP)

Equirectangular projection(ERP)是一种简单的投影方式,将经线映射为恒定间距的垂直线,将纬线映射为恒定间距的水平线。这种投影方式映射关系简单,但既不是等面积的也不是保角的,引入了相当大的失真。推荐: https://en.wikipedia.org/wiki/Equirectangular_projection公式推导:球面上:λ是经线,φ是纬线

2018-01-11 09:12:12 3923 1

转载 用+,-,移位实现除法运算

如何利用+,-,移位来实现除法.假设求 dividend / divisor方法一:首先想到的是用减法来实现.算法思想:对dividend 循环减 divisor, 减一次res++, 直到刚好减为0或余数小于divisor.[cpp] view plain copy print?int integer_div_1(unsigned in

2018-01-02 11:52:35 3911

转载 C语言用malloc函数申请二维动态数组

C语言在程序运行中动态的申请及释放内存十分方便,一维数组的申请及释放比较简单。Sample one[cpp] view plain copy print?#include   int main()  {     char * p=(char *)malloc(sizeof(char)*5);//申请包含5个字符型的数组     free(p); 

2017-12-04 13:59:57 1682

转载 C语言assert()函数用法总结

assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include void assert( int expression );assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。请看下面的程序清单badptr.c:

2017-11-06 09:43:02 20839

转载 HEVC标准中的图像分割(1),slice,tile,CTU,CU,PU,TU等

H.265的标准可以从网上免费下载。        这里写一些我个人对HEVC(H.265)标准的解读,难免有些错误,欢迎大家积极积极留言讨论。        图像分割,就是说一帧图像从几何空间上在标准中是如何划分的。与h.264不同,265引入了tile的概念。        首先,图像被分成slices和tiles。       

2017-10-26 18:47:33 2670

转载 C语言基本数据类型简介

1.概述  C 语言包含的数据类型如下图所示:2.各种数据类型介绍2.1整型  整形包括短整型、整形和长整形。2.1.1短整形  short a=1;2.1.2整形  一般占4个字节(32位),最高位代表符号,0表示正数,1表示负数,取值范围是-2147483648~2147483647,在内存中的存储顺序是地位在前、高位在后,例如0x12345678在

2017-10-23 11:11:13 334

转载 深入理解C语言-----各数据类型大小

首先看下C标准中“未明确定义”的三种类型Implementation-defined、Unspecified和Undefined。Implementation-defined 的情况,是C 标准没有明确规定,但是要求编译器必须对此做出明确规定,并写在编译器的文档中。Unspecified的情况,往往有几种可选的处理方式,C 标准没有明确规定按哪种方式处理,编译器

2017-10-23 11:10:34 544

转载 YUV420转YUV444

在最近的CCP测试中,需要使用YUV444的测试序列,而平时使用的全都是YUV420的序列,因此自己尝试用C写了一个YUV420转YUV444的程序。1、YUV分三种采样方式:YUV444:对于每一个像素都对应一个Y分量、一个U分量、一个V分量。YUV422:对于一个像素都对应一个Y分量,但是每两个像素(或者说Y分量)对应一个U分量和一个V分量。

2017-10-13 06:49:35 1629

转载 详解YUV数据格式

YUV格式有两大类:planar和packed。对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V。对于packed的YUV格式,每个像素点的Y,U,V是连续交*存储的。 YUV,分为三个分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V” 表示的则是色度(Chrominance或

2017-10-12 14:03:15 465

原创 定点化

用整数来模拟浮点数其实就是线性的映射,根据数据的动态范围把浮点映射到int8, int16或int32, 比如浮点数A,a=max(abs(A)),若要把A映射成-128~127的数,需要: A_fix = A*(127 / a) ,即A=A_fix *a / 127; 如果B也是同样的浮点数,那么 A * B = A_fix* B_fix * a * b / (127

2017-10-09 11:24:09 2791

转载 算法定点化

1.提出问题:精度和动态范围之间的矛盾2.解决方法:范围1).除法转换为乘法或者移位运算2).查表计算3).级数展开,2和3一般针对复杂的数学公式4).分子分母同时变化3. 解决精度不足的方法:更长字长,加半位,整数模拟,查表4. 具体步骤:推断算法每一步结果的动态范围。对复杂算法不可行,此时需要做动态的normalization或者通过尝试得到大致动态

2017-10-09 10:51:53 2068

转载 提高专业技能之 “Codec定点化”

十六 提高专业技能之 “Codec定点化”                                   Write by Liupin 2010-4-1基本理论1)     为什么要定点化Since the Core is an integer process,all floating point operations must be simulated usi

2017-10-09 10:30:49 551

转载 turbo C编译器报错数组太大怎么办 在VC6.0中,用C语言最大可以建多大的二维数组?? --转

我用C在VC6.0中数据如下代码:#include#define N 600int main(void){    int a[N][N];    printf("\nthe array is %d\n",N);    return 0;}当N不是太大时还可以,一旦N大于600,就会出现警告,甚至错误,错误如下:Compiling.

2017-09-28 23:57:00 2078

转载 详谈typedef的用法

我们都知道typedef是类型重定义,既然是重定义就不可能出现新的数据类型,只是将已有的数据类型进行换个名字而已,但是这有什么用呢?可能我们学的时候,给的例子都是:typedef int INT; 然后再用INT去定义一些变量,例如:INT a;这个就等于int a; 我们当时感觉不出来有什么用,当学到结构体的时候,可能觉得会减少数据类型的写法,像struct student这样一个结

2017-09-26 19:39:30 288

转载 最临近、双线性、三次卷积插值算法比较

转载地址: http://blog.sina.com.cn/s/blog_5e9e98210100vvrx.html插值算法对于缩放比例较小的情况是完全可以接受的,令人信服的。一般的,缩小0.5倍以上或放大3.0倍以下,对任何图像都是可以接受的。最邻近插值(近邻取样法):  最临近插值的的思想很简单。对于通过反向变换得到的的一个浮点坐标,对其进行简单的取整,得到一个整数

2017-09-26 16:04:34 2262

转载 介绍几种常用的插值方法以及代码-双三次插值

双三次插值接着双线性插值,此次为双三次插值(Bi-cubic interpolation),前面我们知道双线性插值是周边的四个点进行计算,这次双三次是通过计算周边的16个点进行插值的。Bicubicinterpolation solves for the value at a new point by analyzing the 16 datapoints surrounding

2017-09-26 15:43:10 10939

转载 图像缩放之双三次插值法

今天学习了第三种图像缩放的方法,双三次插值法。由于理解能力比较差,看了好久的公式,还是云里雾里,但是为了督促自己学习,还是把已知的部分记录下来。数学原理维基百科的解释假设源图像A大小为m*n,缩放后的目标图像B的大小为M*N。那么根据比例我们可以得到B(X,Y)在A上的的 对应坐标为A(x,y)=A(X*(m/M),Y*(n/N))。在双线性插值法中,我们选取A(x,y)的

2017-09-26 10:23:51 1521

转载 世界坐标系和相机坐标系,图像坐标系的关系

一、四个坐标系简介和转换相机模型为以后一切标定算法的关键,只有这边有相当透彻的理解,对以后的标定算法才能有更好的理解。本人研究了好长时间,几乎每天都重复看几遍,最终才会明白其推导过程。     我觉得首先我们要理解相机模型中的四个平面坐标系的关系:像素平面坐标系(u,v)、像平面坐标系(图像物理坐标第(x,y)、相机坐标系(Xc,Yc,Zc)和世界坐标系(Xw,Yw,Zw),在每一

2017-09-21 15:51:37 1703

转载 浮点转定点运算 (转)

一  DSP定点算数运算1  数的定标    在定点DSP芯片中,采用定点数进行数值运算,其操作数一般采用整型数来表示。一个整型数的最大表示范围取决于DSP芯片所给定的字长,一般为16位或24位。显然,字长越长,所能表示的数的范围越大,精度也越高。如无特别说明,本书均以16位字长为例。DSP芯片的数以2的补码形式表示。每个16位数用一个符号位来表示数的正负,0表示数值为正,l则

2017-09-14 19:50:44 2174

原创 C语言实现cordic算法求sin和cos值

#include  double  cordic(double angle_para);int  main(void){     double para;     para=30;    cordic(para);    return 0;}double    cordic(double angle_para){     const double

2017-09-14 10:51:28 7440 1

转载 Cordic算法的原理

Cordic 算法的原理介绍 cordic 算法知道正弦和余弦值,求反正切,即角度。采用用不断的旋转求出对应的正弦余弦值,是一种近似求解发。旋转的角度很讲求,每次旋转的角度必须使得 正切值近似等于 1/(2^N)。旋转的目的是让Y轴趋近与0。把每次旋转的角度累加,即得到旋转的角度和即为正切值。比如Y轴旋转45度,则值减小1/2;   再旋转26.56505°

2017-09-13 15:12:46 6862

转载 三角函数计算,Cordic 算法入门

三角函数计算,Cordic 算法入门三角函数的计算是个复杂的主题,有计算机之前,人们通常通过查找三角函数表来计算任意角度的三角函数的值。这种表格在人们刚刚产生三角函数的概念的时候就已经有了,它们通常是通过从已知值(比如sin(π/2)=1)开始并重复应用半角和和差公式而生成。现在有了计算机,三角函数表便推出了历史的舞台。但是像我这样的喜欢刨根问底的人,不禁要问计算机又是如何

2017-09-13 14:34:53 3308

转载 浮点数定化--altera 乘除法ip使用FPGA学习笔记

浮点数定化--altera 乘除法ip使用1、浮点数定点化:--浮点数例子:2.9183.1415926---小数点不固定。转为定点数要定义小数需求多少位?整数需求多少位?--第1步:定义。3位整数位宽,12位小数位宽,最高位为符号位1位--16位有符号定点数。【16位有符号数能表示的数值范围:-32768(1000_0000_0000_0000)~32767】

2017-09-11 20:16:53 9807

转载 FPGA(一般只能处理定点数):浮点数的定点化

浮点数例子 : 2.918 12.918 3.1415926转成定点数要定义小数需求多少位,整数需求多少位例:16位的定点数(MAX:16’d32767 MIN:-32768) 3位整数位宽,12位的小数位,最高位的符号位 取低15位,其中第14,13,12位最大能表示7, 小数最大12位能表示的最大精度:1/4096=0.00244140625 (0.002441

2017-09-11 19:39:38 9731

转载 定点化问题

 在定点DSP芯片中,采用定点数进行数值运算,其操作数一般采用整型数来表示。一个整型数的最大表示范围取决于DSP芯片所给定的字长,一般为16位或24位。显然,字长越长,所能表示的数的范围越大,精度也越高。如无特别说明,本书均以16位字长为例。DSP芯片的数以2的补码形式表示。每个16位数用一个符号位来表示数的正负,0表示数值为正,l则表示数值为负。其余15位表示数值的大小。因此, 

2017-09-11 16:46:15 3687

转载 Q格式(Q15)DSP上浮点数据定点化处理

许多DSP都是定点DSP,处理定点数据会相当快,但是处理浮点数据就会非常慢。可以利用Q格式进行浮点数据到定点的转化,节约CPU时间。实际应用中,浮点运算大都时候都是既有整数部分,也有小数部分的。所以要选择一个适当的定标格式才能更好的处理运算。  Q格式表示为:Qm.n,表示数据用m比特表示整数部分,n比特表示小数部分,共需要m+n+1位来表示这个数据,多余的一位用作符合位。假设小数点在

2017-09-11 16:25:37 5987

转载 嵌入式编程中,你应该知道的定点化知识

谈到这个话题,有必要先介绍下“浮点数”和“定点数”这两个名词的概念。1.25 + (-2.75) = ?                                                                (1)上面这个算式我们心算就能轻松得出结果,同样的算式,交给单片机来完成,它要大致分解为下面三个计算步骤:1)加载操作数(也就是1.25和2

2017-09-11 15:37:27 1328

转载 matlab图像处理基础知识3(双线性插值matlab实现--FPGA优化)

CSDN博客移动开发架构云计算/大数据互联网运维更多数据库前端编程语言研发管理综合写博客登录| 注册 messi_cyc|退出matlab图像处理基础知识3(双线性插值matlab实现--FPGA优化)原创 2016年05月26日 15:12:1476500

2017-09-08 16:41:46 581

转载 C++ 双线性插值缩放图像

缩放灰度图cv::Mat bilinear(cv::Mat src, int row, int col){ int rows = src.rows, cols = src.cols; cv::Mat dst(row, col, src.type()); for(int i = 0; i < row; ++i) { //以ptr的方式访问dst的数

2017-09-08 16:40:01 2963 1

转载 双线性插值的图像缩放算法的研究与实现

最简单的插值算法是最邻近插值,也称为零阶插值。它输出的像素灰度值就等于距离它映射到的位置最近的输入像素的灰度值,最邻近插值算法简单,在许多情况下都能得到令人满意的结果,但是当图像中包含像素之间灰度级有变化的细微结构时,最邻近算法会在图像中产生人为加工的痕迹。双线性插值算法计算量比零阶插值大,但缩放后图像质量高,不会出现像素值不连续的情况,这样就可以获得一个令人满意的结果。   双线

2017-09-08 16:39:12 405

转载 FPGA双线性插值算法(图像的缩放)

在FPGA实现图像双线性插值,比较复杂。结果验证和 FPGA自带的效果差不多。占的资源比较少。          双线性插值的框架图:       双线性插值的运算单元:这样就可以实现视频的缩放。

2017-09-08 16:38:25 5084 1

转载 FPGA图像处理系列:图像缩放

实现了一个Avalon-ST总线的简单图像缩放模块,将640*480的图像输入,变成320*240大小的图像输出。主要思想是,得到图像的行列计数值,根据要缩放的比例,在相应的行列值使能valid信号,比如我要将640*480图像缩小成320*240,那么只需控制将其隔行、隔列使能valid就行了。其实就是一个降采样。代码直接贴出[cpp] view plain copy

2017-09-08 16:37:01 6837 2

转载 双线性插值原理与实现

在对图像进行空间变换的过程中,典型的情况是在对图像进行放大处理的时候,图像会出现失真的现象。这是由于在变换之后的图像中,存在着一些变换之前的图像中没有的像素位置。为了说明这个问题,不妨假设有一副大小为64x64的灰度图像A,现在将图像放大到256x256,不妨令其为图像B,如图1所示。显然,根据简单的几何换算关系,可以知道B图像中(x,y)处的像素值应该对应着A图像中的(x/4,y/4)处的象素值

2017-09-08 00:14:39 576

转载 图像缩放的双线性内插值算法的原理解析

转自:http://blog.csdn.net/qiqi5521/article/details/2207562 图像的缩放很好理解,就是图像的放大和缩小。传统的绘画工具中,有一种叫做“放大尺”的绘画工具,画家常用它来放大图画。当然,在计算机上,我们不再需要用放大尺去放大或缩小图像了,把这个工作交给程序来完成就可以了。下面就来讲讲计算机怎么来放大缩小图象;在本文中,我们所说的图像都

2017-09-08 00:11:18 5776

转载 双线性插值算法进行图像缩放及性能效果优化

一)转自http://handspeaker.iteye.com/blog/1545126最近在编程时用到了双线性插值算法,对图像进行缩放。网上有很多这方面的资料,介绍的也算明白。但是,这些文章只介绍了算法,并没有具体说怎么实现以及怎么实现最好,举个例子,你可以按照网上文章的算法自己写一个双线性插值程序,用它对一张图片进行处理,然后再用matlab或者openCV的resize函数对同一张

2017-09-07 23:52:04 1293

转载 双线性插值算法的详细总结

最近在做视频拼接的项目,里面用到了图像的单应性矩阵变换,在最后的图像重映射,由于目标图像的坐标是非整数的,所以需要用到插值的方法,用的就是双线性插值,下面的博文主要是查看了前辈的博客对双线性插值算法原理进行了一个总结,在这里也感谢一些大牛的博文。http://www.cnblogs.com/linkr/p/3630902.htmlhttp://www.cnblogs.com/f

2017-09-07 23:36:03 1014

转载 小菜硬件杂谈 说说VR里的异步时间扭曲(全文)

(原标题:小菜硬件杂谈 说说VR里的异步时间扭曲) 3月份的GDC 2016大会上,著名VR公司Oculus为Rift消费者版增加了一项新功能,这项功能名为异步时间扭曲(Asynchronous Timewarp,简称ATW),目前这个词已经成为国内一些技术流的VR创业公司的演讲必提要点。那么听起来很科幻的“异步时间扭曲”技术究竟有什么作用?接下来我们就一起聊聊有关ATW的方方面面。

2017-09-06 15:06:57 981

时序图工具

一个很好的画时序图的工具,尤其画时钟,上升沿,下降沿

2012-09-29

使用C语言头文件

VC++使用头文件,windows.h;winnt.h;windef.h;basetsd.h文件

2014-03-01

空空如也

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

TA关注的人

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