- 博客(93)
- 资源 (8)
- 收藏
- 关注
原创 cublasSgemm实现矩阵的相乘
今天想调用cuda的库函数实现矩阵的相乘,但是发现在cublasSgemm中矩阵是按照列主元素进行存储的,也就是一列列的存储的。这和c中一般按照行存储完全相反,后面看了一个帖子http://cudazone.nvidia.cn/forum/forum.php?mod=viewthread&tid=6001&extra=&page=2讲了一个方法,后面理了一下,具体分析如下:比如,我们想求C=A
2013-07-02 16:18:30
15732
原创 一个简单的CUDA程序以及一些总结
尝试些了自己第一个CUDA程序,结果问题果然很多,先把问题程序框架贴上来。(这个程序是有错误的!)#include #include #include #include struct PStruct{ int PSize; float *PMatrix;};__global__ void KernelStruct(PStruct *pstr
2013-06-09 09:35:54
2667
原创 cuda运行时库配置问题
总是遇到一堆问题,这次遇到的问题和这个类似:http://cudazone.nvidia.cn/forum/forum.php?mod=viewthread&tid=483。先看了一些文章,明白了是因为VC在编译和链接过程用的默认库被新库取代。但是vc的很多操作都在默认库里面,所以会出现错误。一、关于C运行时库关于默认库的理解可以见(http://bbs.youkuaiyun.com/topics/6
2013-06-03 12:51:34
2225
原创 cuda数组的拷贝
原来看了GPU编程觉得挺简单的,后面自己动手发现毛病不少啊。简单描述一下自己要做的事情:(1)CPU三维的vector--->(2)CPU三维数组--->(3)转换到GPU中的三维数组--->(4)转换到CPU中的三维数组,而其中问题主要出在第3、4步。主要是没有理解一个问题,那就是“cuda的各种拷贝一定要是内存连续的”。而自己在申请三维数组的时候用的是new或者malloc,这种在申请一维数组
2013-06-02 23:01:49
5780
原创 cuda中的数组
刚刚看了一些cuda的东西,打算写个程序,结果遇到一堆问题。首先就是host和device上的数组传递问题,被搞得有点晕,看了一些资料,在这里总结如下。1:问题是怎么来的在device上要用一维数组、二维数组、三维数组,对于一维数组用了cudaMalloc和cudaMemcpy进行内存分配和赋值,但是对于二维和三维的分配本想这样转换成一维进行。但是这样感觉赋值又不方便,刚刚看了一个例子,这
2013-05-31 23:51:35
9770
转载 Cuda的一些配置
最近想用GPU编程,看了一些Cuda的配置,发现一个在优快云中的文章不错,但是因为其不是一文章的形式弄出来的,所以在这里转载过来。http://bbs.youkuaiyun.com/topics/370015301参考了很多网上的教程,自己摸索的几天CUDA4.0安装完毕。再次感谢前辈的各种教程,现把我的安装方法提供出来,给还在探索的新手参考一下。我的环境:Win7 64旗舰
2013-05-23 23:07:25
5410
转载 MPEG-2帧间编码结构
转自:http://www.360doc.com/content/10/0127/10/709344_14486874.shtml 为了在高效压缩编码的条件下、获得可随机存取的高压缩比、高质量图像,MPEG定义了I、P、B三种图像格式,分别简称为帧内图(Intra Picture)、预测图(Predicted Picture)及双向图(Bidirec tional Pictu
2013-05-14 22:43:10
2818
转载 matlab中用imshow()显示图像与图像矩阵的数据类型的关系
http://blog.youkuaiyun.com/tina_lulu_21/article/details/2603162在matlab中,我们常使用imshow()函数来显示图像,而此时的图像矩阵可能经过了某种运算。在matlab中,为了保证精度,经过了运算的图像矩阵I其数据类型会从unit8型变成double型。如果直接运行imshow(I),我们会发现显示的是一个白色的图像。这是因为im
2013-05-11 10:28:06
1361
原创 关于傅里叶变换
这两天看了一些帖子,结合原来自己学的还是写一点点,至少证明自己还是思考过的。更加喜欢的是和大家一起分享学习的快乐与收获,当然欢迎大家讨论。第一:什么是傅里叶变换这个问题基本上有各种解释,而且都是有道理的,我不想摆公式就按自己想法说说。对于一个信号,我们可以在时域上观察也可以在频域上观察,那么在频域上观察得到的结果就是信号傅里叶变换。比如说一个杯子,我们可以直接从外观上给予观察描述,也可以从
2013-05-11 09:37:26
2408
转载 一幅图弄清DFT与DTFT,DFS的关系
http://www.cnblogs.com/BitArt/archive/2012/11/24/2786390.html很多同学学习了数字信号处理之后,被里面的几个名词搞的晕头转向,比如DFT,DTFT,DFS,FFT,FT,FS等,FT和FS属于信号与系统课程的内容,是对连续时间信号的处理,这里就不过多讨论,只解释一下前四者的关系。 首先说明一下,我不是数字信号处理专家,
2013-05-10 23:50:53
6448
5
转载 为什么要进行傅立叶变换
一、傅立叶变换的由来关于傅立叶变换,无论是书本还是在网上可以很容易找到关于傅立叶变换的描述,但是大都是些故弄玄虚的文章,太过抽象,尽是一些让人看了就望而生畏的公式的罗列,让人很难能够从感性上得到理解,最近,我偶尔从网上看到一个关于数字信号处理的电子书籍,是一个叫Steven W. Smith, Ph.D.外国人写的,写得非常浅显,里面有七章由浅入深地专门讲述关于离散信号的傅立叶变换,虽然是
2013-05-10 20:58:28
3456
转载 信号截断、能量泄漏及窗函数
做散斑相关真心苦逼,一点思路都没有。眼看到研二了,哎,愁啊!最近考虑把位相相关和散斑结合起来看一下,结果在位相相关中遇到edge effects。看了一些论文,说必须加窗。对于窗函数不是很了解,在网上看到这篇文章,感觉还可以。http://yangcui26.blog.163.com/blog/static/37487453200791685722957/6.4.1 信号截断及能量泄漏
2013-05-10 10:41:29
33124
2
转载 MPEG-2视频编码方式
http://www.360doc.com/content/06/0718/15/9571_158909.shtml 为了提高压缩比及图像质量,MPEG-2视频编码采用运动补偿预测(时间预测+内插)消除时间冗余和不随时间变化的图像细节;采用二维DCT(图像像素+量化传输系数)分解相邻像素,消除观众不可见、不重要的图像细节;采用熵值编码(已量化参数+编码参数的熵),使bit数减少到理论
2013-05-09 14:15:46
2648
转载 JPEG压缩原理
老师让看看JPEG和MPEG的压缩原理,让从中提炼一些思想用于DIC。现在还是没有多少头绪。。到网上找了一下JPEG的压缩原理,感觉下面这篇还不错,就转过来了。http://vipbase.net/ipbook/chap09.htm在介绍图象的压缩编码之前,先考虑一个问题:为什么要压缩?其实这个问题不用我回答,你也能想得到。因为图象信息的数据量实在是太惊人了。举一个例子就明白:一张
2013-05-09 10:19:59
6621
转载 MATLAB中FFT的使用方法
转自:http://hi.baidu.com/zhaolinger_789/item/1b4d9ff47b10e3d86325d28c说明:以下资源来源于《数字信号处理的MATLAB实现》万永革主编一.调用方法X=FFT(x);X=FFT(x,N);x=IFFT(X);x=IFFT(X,N)用MATLAB进行谱分析时注意:(1)函数FFT返回
2013-05-06 10:26:07
21876
转载 Matlab中fft与fftshift命令的小结与分析
http://wang-yg.diandian.com/post/2011-03-12/40028916801注:转载请注明出处——by author.我们知道Fourier分析是信号处理里很重要的技术,matlab提供了强大的信号处理能力,但是有一些细节部分需要我们注意。记信号f(t)的起始时间为t_start, 终止时间为t_end, 采样周期为t_s, 可以计算信号的持续时间
2013-05-05 16:58:58
3648
原创 matlab遗传算法工具箱(GADs)
最近用matlab遗传算法工具箱做优化,找了好多中文资料都不完善。这里两个链接的东西,把工具箱的用法说的很清楚。分享一下。点击打开链接http://www.mathworks.cn/cn/help/gads/genetic-algorithm-options.html点击打开链接http://www.mathworks.cn/cn/help/gads/gaoptimset.html
2013-05-03 08:51:45
6238
1
转载 Mat, vector<point2f>,Iplimage等等常见类型转换
转自:http://blog.youkuaiyun.com/foreverhehe716/article/details/6749175在mfc c++ 以及opencv 编写程序当中,很多常用的类型转换,现在总结一下。(注意加相应的头文件,这里不罗嗦)提纲:1. Mat ---> Iplimage2. Iplimage ---> CvvImage3. Mat -
2013-04-21 22:44:55
4088
转载 OpenCV的calcHist
最近要计算图像的直方图,发现calcHist中的参数不是那么的一目了然,到网上搜了一下,资源还是比较多。http://blog.youkuaiyun.com/ljbsdu/article/details/7412787这个哥们做的不错,为了方便在此转载过来。函数说明如下:void calcHist(const Mat*arrays, int narrays, const int* channe
2013-04-20 21:02:35
8746
原创 鼠标位置的显示以及滚动条
在进行图像操作的时候,比如点击鼠标、移动鼠标等等都是针对的是视图坐标。即OnLButtonDown(UINT nFlags, CPoint point)或者OnMouseMove(UINT nFlags, CPoint point)中的point是用的视图坐标。但是在操作文档时,必须知道的是文档坐标,在有滚动条的情况下,文档坐标等于视图坐标加上滚动条位置。也就是说在进行图像操作的时候用视图坐标
2013-03-23 17:31:55
2146
转载 LocalAlloc,VirtualAlloc,malloc,new的异同
转自:http://hi.baidu.com/drunkdream/item/f1c178e7737df73b4cdcafdf主要点:1:从哪里开始分配(堆、全局堆、局部堆);2:分配空间的性质(可移动、大小固定);3:是那个系统有的(c/c++、window API)。1. 首先我们来看HeapAlloc:MSDN上的解释为:HeapALloc是从堆上分配一块内存,且分配
2013-03-21 16:32:41
677
原创 VC08中怎么显示中文
在资源上面右键,选择属性(property)里面选择中文即可。但是这里关键是找了好久都没有看到属性选项,后面经过尝试知道了必须打开一个实例才有属性选项。对于Menu菜单,必须打开String table才行!
2013-03-16 15:00:05
616
转载 VC format函数详解(讲的很清楚)
转自:http://www.52rd.com/Blog/Detail_RD.Blog_ygt848_11537.htmlFormat的功能果然很好,很强大!Format是一个很常用,却又似乎很烦的方法,本人试图对这个方法的帮助进行一些翻译,让它有一个完整的概貌,以供大家查询之用:首先看它的声明:function Format(const Format: stri
2013-03-06 15:32:35
873
原创 CBitmap,HBitmap,Bitmap,BITMAP区别及联系
搞了好一阵子的vc了,一直都是在用位图文件。可是一直说位图位图,其到底是个什么东西还不是很清楚,只知道后缀为.bmp,其和Bitmap、CBitmap、HBitmap的联系和区别是什么也不是很清楚。正好要做一个截图程序,随便查了一些资料。一:他们到底是什么?1:到底什么是位图?那到底什么是位图呢?http://baike.baidu.com/view/7671.htm,从百度百科可以知
2013-03-03 21:08:12
1108
原创 GetDlgItem以及一点感想
GetDlgItem是CWnd中的一个函数,其是用来获得窗口句柄的。在CWnd派生类中可以直接调用,在非CWnd的派生类中必须用SDK中的GetDlgItem函数。在MFC中CWnd派生的类有很多,比如Dialog类、Button类。因此这里理解类的对象、继承、封装性和MFC与SDK32之间的关系就非常重要。并且VAssitx和MSDN提供的帮助也非常大,要善于学习,思考着学习。记住:勤永
2013-01-27 15:28:39
847
原创 MFC几个常用函数:OnCreate和OnInitialUpDate,GetActiveFrame和MDIGetActive,Invalidate、SetModifiedFlage、UpdateAll
把用常用的都整理一下,不然好乱。一、OnCreate和OnInitialUpDate参考:http://www.cnblogs.com/mingfei200169/articles/666567.htmlONCREATE只是产生VIEW的基本结构和变量而在OnInitialUpDate()中,主要初始化视图中控件等,对各个变量进行初始化操作。例子。我们要在视图中添加一个button
2013-01-27 15:11:56
12539
原创 MFC的CFileDialog和几个类之间的关系
学习了一段时间MFC了,原来总是模仿别人的程序做。不知其所以然,后面发现这些问题必须要解决。始终不可能迷迷糊糊的过关,于是乎在网上对一些函数进行了查找,并且结合之间的理解整理一下。主要是整理整理之间的思路。一、CFileDialog参考:http://blog.sina.com.cn/s/blog_4618b1720100edq8.html1:构造CFileDialog是常用的打开
2013-01-27 11:16:12
1643
原创 String,Cstring和char*的区别和转换和char,wchar_t,TCHAR的区别
String、Cstring、char*之间的关系与转换一直都是似懂非懂的,而且在MFC程序汇中也不知道什么时候有哪一个,一头雾水。。于是把网上的东西,结合之间的理解整理了一下。一、概述先说char*(这个是基础),因为其应该是最简单和最基础的,其从作用上讲就相当于一般的int*或者double*,这种基础的结构。但是由于字符串的特殊性,我们有单独用了其他类来处理。在c++中用了Strin
2013-01-26 21:20:17
2061
转载 C++ 类中的静态变量和静态成员函数
http://blog.youkuaiyun.com/lekonpeng/article/details/4288170很好的一篇文章,做到了真正的深入浅出。静态数据成员:下面看一个例子:#include class Point{public:void output(){}static void init(){ } };void mai
2013-01-03 11:12:50
559
原创 第一个多线程程序+对象和句柄的区别+感悟
先编写了一个程序,速度太慢。因此决定用多线程来提供速度,前期看了一些资料,感觉挺简单的。于是想自己先试一下,用了一个很小的Case!结果调试了一天才有结果,郁闷啊。只不过还是要把过程总结一下,也算是对自己的鞭策吧!这次编写的程序很简单,就是个自动获得系统时间的函数。这里开了一个线程用于不断的去获取系统时间,在在对话框中显示出来。这里线程函数用的是静态成员函数,代码如下:void CTest
2013-01-02 10:34:43
1902
原创 MFC和Win32 SDK的区别
Win32 SDK是最基本的,是windows系统运行的基本API函数。MFC是在它的一部分上做封装和发展,这样有利于做界面!在MFC中用”::“得到的函数是Win32 SDK中的,而MFC的函数都是用类封装的,都必须是类加::,比如CTime::GetCurrentTime()。这里就是面向对象的一个基本继承关系!
2012-12-31 14:37:07
661
转载 一个线程函数模板
http://zhidao.baidu.com/question/41421810.html如果是在用VC中想用多个线程运行同样的任务,而这些任务之间没有通讯问题和内存共享的问题,那可以用下面的模板:DWORD WINAPI TaskThreadProc(LPVOID){// 独立任务// ...}void RunTaskUseMultiThread(int nThre
2012-12-31 14:18:49
1383
转载 在C++类中定义线程函数的方法
最近开始看线程的东西,想把原来的程序优化一下,看到下面的这篇文章,感觉分析得还不错(主要是分析点比较到位,思路很清晰!),在此和大家分享一下。http://rangercyh.blog.51cto.com/1444712/795759昨天用C++把我写的一个游戏功能进行了封装,其中涉及到一个小问题,就是我封装的C++类中必须定义2个线程函数,比如像下面这样:class
2012-12-31 08:52:09
5733
原创 内存释放
原来对内存释放一直没有概念,因为写的程序基本上都没有出现内存不够的问题。最近写了一个双三次样条插值的函数,终于体会到为什么要释放内存了。总是提示内存不够,极度无语,每次看到处理过程内存消耗撑撑的向上涨,心里非常不舒服。后面试着把new申请的空间释放了,效果就好多了,内存基本上保持在稳定状态。没想到每次申请的这么一点内存,到后面作用这么大。在释放内存的时候,遇到一个问题。一个n维数组,但是取值是
2012-12-27 10:50:38
707
原创 头文件里面是否应该包含函数的实现
最近写程序,把函数在头文件里面实现了。后面编译的时候出现各种问题,最后把函数的实现和函数的定义分别写在头文件和cpp文件中,这样才正确,认为是以下原因引起:在头文件中,在最先的编译阶段(Compiling)是对每个函数生成.obj文件,后面链接(linking)的时候要分配空间。但是头文件里面有函数的实现,所以已经分配了空间,如果在后面的cpp中遇到调用该函数,会出现重复分配空间的情况,会提示
2012-12-25 23:08:14
4643
转载 图像放缩之双立方插值
http://blog.youkuaiyun.com/jia20003/article/details/6919845一直都在看别人用双三次插值,一直都没有概念,今天百度了一下,感觉和双三次样条原理类似,只不过计算简单点,自己也比较了两者的计算时间,双三次样条的时间确实要长些。一:数学原理如果已知一个函数f(x)以及它在x=0,x=1处的导数,那么函数可以在[0,1]之
2012-12-24 17:05:02
5129
原创 256色图像不一定是灰度图像
对于每个像素占8为的256图,有的对应的是RGB不同的调色板,这种就是伪彩色256图;如果对应的RGB调色板的R=G=B,这种就是256灰度图。对于256的灰度图和伪彩色图他们的颜色表是固定的,否则就乱了。从这里也可以看出颜色表的重要性,因为图像里面的数值只是提供了颜色表中对应的位置,具体的值是在颜色表中搜索得到的。如果没有颜色表,那么这种就相当于空指针,明显会出问题!
2012-12-23 14:48:28
963
原创 ComboBox的控件事件CBN_SELCHANGE的问题
http://scorpiomiracle.iteye.com/blog/710511这里有个关键点就是执行顺序和执行了什么的问题?当触发CBN_SELCHANGE消息时,这时combobox中的索引值改变,但是这时候的文字框里面的内容没有改变。这时GetWindowText()肯定得到的是先前的内容(相对于想要的)。这以后,在完成关联变量的更新,combobox里面出现想要的内容。为
2012-12-09 11:40:41
15630
转载 ccombobox addstring 顺序问题
http://hi.baidu.com/mrzdw_/item/bff42eb4b7335a941946972cAddstring 如果你设置了CBS_SORT 样式他就不会按你输入的排序,而是会自己排序, 不加这个属性就会按输入顺序排序。 也可在资源里的属性里吧 Sort 属性改为False。被这玩意折腾了好久。。。终于搞定!
2012-11-30 21:37:15
3922
Stefano Mattoccia 的讲义 Stereo Vision: algorithms and applications
2012-04-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人