- 博客(75)
- 收藏
- 关注
转载 From feature descriptors to deep learning: 20 years of computer vision
http://blog.csdn.net/giskun/article/details/43023071
2015-04-22 20:49:46 888
原创 bitwise const
class CTextBlock {public: ... char& operator[](std::size_t position) const // inappropriate (but bitwise { return pText[position]; } // const) declaration of
2014-11-23 23:20:19 1119
原创 enum hack
class GamePlayer {private: enum { NumTurns = 5 }; // "the enum hack" — makes // NumTurns a symbolic name for 5 int scores[NumTurns]; // fine
2014-11-23 16:40:31 1063
转载 matlab中gradient()函数的算法
点击打开原文链接今天在调试程序的过程中发现我用VC++写的Gradient计算后得到的值与matlab中的gradient()函数得到的值并不相同。于是调试测试了一下结果,发现matlab中gradient的计算流程如下:先说,gradient()求x方向上的吧1。判断是不是第一列或者最后一列,如果是执行2,如果不是执行32。后一个数减去当前
2013-06-25 14:36:40 8187
转载 matlab plot画图
http://happysweetheart2.blog.sohu.com/106503841.html 1 plot(x):x为长度为n的数值向量,坐标的纵坐标是向量x,横坐标为matlab系统根据x向量的元素序号自动生成的从1开始的向量。2 plot(x,y): 纵坐标是y,横坐标是x。x,y向量的数目必须相等。3 axis([x1,x2,y1,y2]):设定坐标轴的范
2013-05-06 10:52:32 1599
转载 c++ volatile用法(转)
点击打开原文链接一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子:1) 并行设备的硬件寄存器(如:状态寄存器)2) 一个中断服务子程序中会访问到的非自动变量(Non-autom
2013-04-08 11:34:59 807
转载 Qt项目中遇到的一些小问题汇总
点击打开原文链接公司让负责qt界面开发,但是接触qt又不久,现将在项目中遇到的一些问题汇总下,一为了避免自己忘记,二希望能帮助到他人。1.在程序关闭窗口时,显示提示窗口: qt中有很多信号和相应的槽函数,上述问题需要拦截关闭窗口信息QWidget::close(),QWidget::closeEvent( QCloseEvent * event
2013-04-01 17:53:06 1123
转载 QThread的正确使用方法
点击打开原文链接qt自带的文档和例子中使用QThread都是继承QThread,然后重载run,今天想在继承自QThread类中自定义一个槽,觉得对QThread的信号-槽的机制在多线程的情况下有些不清楚的地方,猜想QThread的槽并不是执行在QThread实例创建的子线程中,但我需要让槽执行在子线程中,查了一下资料,发现了QThread更好的使用方法。
2013-03-26 12:27:17 1723
转载 Qt 中文显示
点击打开原文链接QT默认的编码(unicode)是不能显示中文的,可能由于windows的默认编码的问题,windows默认使用(GBK/GB2312/GB18030),所以需要来更改QT程序的编码来解决中文显示的问题。QT中有专门的一个类来处理编码的问题(QTextCodec)。在QT3中,QApplication可以设置程序的默认编码,但是在QT4中已经没有了该
2013-03-22 11:50:51 792
原创 CvMat中type返回的数值
如上一篇转载的博客所说,type返回值的最低三位用来表示数据类型(如CV_8U...)其他高位用于表示通道数如CV_8UC1调用type之后的返回值的低四位应为1000而CV_8UC2调用type之后的返回值的则必须用五位来表示,即1 0000以此类推,CV_8UC3调用type之后的返回值的低五位为 1 1000,我们一般用到的矩阵也就是三维而已,其他的可依此
2013-03-19 18:05:21 1883
转载 opencv矩阵元素类型
点击打开原文链接一基础1 位移操作移位操作有两种类型,一种是逻辑移位(logical shift)和算术移位(arithmetic shift)。逻辑移位中被移出的位被丢弃,空缺位(variant bit)用0填充。算术移位中移出位被丢弃,空缺位用符号位填充。在c/c++中,整数分为有符号和无符号两种类型,它们的移位操作有所区别。对于无符号整数,
2013-03-19 17:55:34 1079
原创 给opencv矩阵赋值的注意事项
当需要访问矩阵第m行的第n个数值时,首先需要计算那一行开头的指针值如我们定义矩阵CvMat* mat=cvCreateMat(M,N,CV_32FC1);如果此时需定义指针float* ptr=(float*)(mat->data.ptr+(m-1)*mat->step);那么*(ptr+n-1)就是我们要访问的数值切记不可以以矩阵的头指针为基准计算偏移量如我们定义指针
2013-03-14 12:51:07 3913
原创 Qt4.8版本中QGLFormat的设置问题
QGLWidget的fromat需要使用一个QGLFormat来设置,当不需要将QGLWidget作为一个内嵌到界面中的组件时,可以在类中定义一个QGLFormat实例fmt,在构造函数中设置一些功能,如setDoubleBuffer()、setStereo(),在initializeGL()中使用setFormat(fmt)来实现设置但在Qt4.8版本中,如果需要将QGLWidget
2013-03-13 20:57:43 4682
原创 QGLWidget的更新机制
Qt的OpenGL接口实际上是实现了glut中与opengl人机交互的功能,很多方法和glut重叠。glut使用glutMainLoop调用glutDisplayFunc指定的显示函数实现更新Qt中需要用QTimer类实现更新,具体做法是:1.写一个类继承QGLWidget,在构造函数中启动QObject::startTimer(int interval)起动计时器2.重载虚函数v
2013-03-13 20:46:22 6267
转载 Qt QGLWidget 不能够实时刷新的问题
原文链接问题即便不使用 QGLWidget 而是使用 glut 系列,使用opengl进行渲染总是要面临这样的问题,什么时候需要重绘?最佳的用户体验自然是每次渲染结束后立即重绘。还在使用glut的时候,glutMainLoop就是这么搞得,以致随便跑个纹理程序就是100%的CPU,纯粹就是个死循环嘛。迁移到了 QGLWidget,上述问题似乎
2013-03-05 13:39:38 5515 6
原创 OpenCV2.4.3学习笔记
1. 旧版的OpenCV使用IplImage存储图像,新版中使用Mat存储,需要注意的是,当使用拷贝构造函数或赋值操作符("=")拷贝图像时,实现的仅仅是浅拷贝(仅仅拷贝了文件头),负责计数的计数器会自增1,当某一个图像不再使用时,计数器会减1,当计数器的值为0时该图像所占用的内存空间会被释放当需要实现深拷贝(重新建立一个一模一样的图像)时,需要使用clone或CopyTo函数
2013-02-27 10:32:17 888
转载 深入探讨C++中的引用
原文链接引用是C++引入的新语言特性,是C++常用的一个重要内容之一,正确、灵活地使用引用,可以使程序简洁、高效。我在工作中发现,许多人使用它仅仅是想当然,在某些微妙的场合,很容易出错,究其原由,大多因为没有搞清本源。故在本篇中我将对引用进行详细讨论,希望对大家更好地理解和使用引用起到抛砖引玉的作用。 一、引用简介 引用就是某一变量(目标)的一个别名,对引用的操
2012-12-07 00:37:19 505
转载 VC++ 2005中编译C出错:error C2143: syntax error : missing ';' before 'type'
VC++ 2005中编译C出错:error C2143: syntax error : missing ';' before 'type'今天偶然编译一个驱动的C文件的时候出现这个错误,error C2143: syntax error : missing ';' before 'type' 这段代码用来创建一个UDP的套接口,很简单的一句代码:SOCKE
2012-06-17 05:50:53 1216
转载 Using Sparse Bundle Adjustment (SBA) in windows(在windows下编译SBA)
原文连接These are the steps to compile SBA in windows using Visual StudioVisual Studio 20081. Download the SBA from http://www.ics.forth.gr/~lourakis/sba/2. Download the precompiled Lapa
2012-06-13 18:37:08 2217 1
原创 OpenCV的cvRemap函数用法
cvRemap 的mapx 和 mapy 表示的是在将dst变换到src时x和y坐标的变换,即srcX=mapx*dstX srcY=mapy*dstY
2012-05-27 05:01:07 5774 2
转载 OpenCV函数cvRemap源代码
cvRemap源代码void cv::remap( InputArray _src, OutputArray _dst, InputArray _map1, InputArray _map2, int interpolation, int borderType, const Scalar& borderValue ){
2012-05-26 22:04:31 8983 6
原创 OpenCV2.3 中矩阵的数据类型与C++中类型的对照
8-bit unsigned char (uchar) 8-bit signed char (schar)16-bit unsigned integer (ushort)16-bit signed integer (short)32-bit signed integer (int)32-bit floating-point number (float)64-bit floa
2012-04-30 21:54:49 1270
原创 latex 错误汇总
1。在使用\subfloat创建属于一幅图像的几个子图时,不可以同时包含包subfigure,否则生成的子图的标号会显示两个括号,即((a)),而不是希望的(a)2。在使用\subsubsection失效时可尝试设置\setcounter{secnumdepth}{3}
2011-11-26 23:28:31 1962 1
转载 LaTeX/尺寸
LaTeX/尺寸单位pt1pt = 1/72.27 英寸bp1bp = 1/72 英寸mm毫米cm厘米in英寸ex当前字体中 'x' 的高度em当前字体的一个 'quad' 的宽度(在以前,它是字母 'M' 的宽度,现在不是了)字号
2011-11-25 22:23:37 5365
原创 Latex的几种参考文献排序
\bibliographystyle{unsrt}:按照引用的先后排序\bibliographystyle{plain}:按字母的顺序排列,比较次序为作者、年度和标题,其中作者中姓氏字母优先,如S.Zhang会排在 S.Li后边,姓名的书写顺序为名前姓后。
2011-11-25 19:42:27 27234
原创 The not so short Introduction to Latex2 第四章
4.1 包含EPS包 一个较为简便的将图像包含到文件中的方法就是用特殊的软件包(如XFig、Gnuplot、Gimp、Xara X等)生成相应图像,然后将生成的图像包含到文件里。 本文只讨论EPS图像,如果想使用EPS格式的图像,必须首先有一个PostScript打印机(如GhostScript程序)。 一个较好用的包是graphicx包,它是g
2011-11-22 08:11:56 1079
原创 The not so short Introduction to Latex2 第三章
3.1 如果想要输入(高级)数学公式,可以用AMS-Latex,amsmath包3.2 文字风格(text style)数学公式在两个"$"符号中间输入,显示风格(display style)数学公式可以使用\begin{equation} \end{equation},可以使用\label{} 给公式命名,以方便用\eqref{}来引用,但此名字不显示。如果用\tag{}来命名的话,这个名
2011-11-20 01:54:04 1190
原创 The not so short Introduction to Latex2 第二章
\\ 或\newline :开始新一行,但并不另起一段\\* :在换行的基础上禁止换页\newpage:换页\linebreak[n], \nolinebreak[n], \pagebreak[n], \nopagebreak[n] :设定换行或换页位置,n可以是0到4的整数,不推荐使用,Latex总是尽力选择最佳的换行位置\sloppy:增加字间距离以避免较长的行出现,\fuss
2011-11-13 02:12:32 1481
原创 The not so short Introduction to Latex2 第一章
保留字:# $ % ^ & _ { } ~ \{}将阻止Latex吃掉后边的空格\command[optional]{parameter}当Latex遇到%时,本行后边的内容将会被自动忽略对于较长的评论,可以使用\usepackage{verbatim}\begin{comment}comment contents\end{comment}每一个文件都必须由命令\
2011-11-12 08:31:02 1084
原创 QSlider的setValue()方法会激发信号valueChanged()
如果在定义了一个QSlider实例之后调用setValue()方法,则信号valueChanged()会被激发QSlider* sliderInstance=new QSlider(Qt::Horizontal);QObject::connect(sliderInstance,SIGNAL(valueChanged(int)),this,SLOT(doSomething()));sli
2011-11-10 10:15:45 9664 1
原创 QString分离出所选择文件所在目录的代码
以下代码可以将所选择的文件所在的目录分离出来,但只对全英文的目录有效QString imageName=QFileDialog::getSaveFileName(0,QString("Save image"),"../videoImage.jpg","Image (*.jpg)");QStringList directories=imageName.split("/");QStri
2011-11-06 09:08:45 1612
原创 一个基于Qt的用cvAdaptiveThreshold二值化图像的程序
//AdaptiveThreshold.h#ifndef ADAPTIVETHRESHOLD_H #define ADAPTIVETHRESHOLD_H#include "cv.h"#include "highgui.h"#include #include #include #include #include #include #include #include #
2011-11-02 07:12:45 3382
原创 一个基于opencv的显示一个rgb图像各点灰度值及对应的灰度图象灰度值的程序
运行时使用鼠标左键点图像上任意点,即可显示该点rgb图像各通道的值及该图像对应的灰度图象的灰度值//PixelValueMonitor.h#include "cv.h"#include "highgui.h"class PixelValueMonitor{ public: PixelValueMonitor(IplImage* img);
2011-11-01 06:50:21 5333
原创 一个计算reprojection error的小程序
double reprojectionErrorCalculation(IplImage *rgbImage, CvMat *objectPoints, CvMat *imagePoints, CvMat *calibrationMatrix, CvMat *rotationMatrix, CvMat *translationVector){ IplImage* img=cvCreateI
2011-10-20 06:20:29 2828
原创 QDialog类的使用注意事项
QDialog本身就是一个widget,不要再定义widget来承载该dialog的其他组建只需定义一个mainlayout将其他组建加入该layout最后用this->setLayout(mainlayout)即可
2011-10-16 22:58:42 855
原创 QTabWidget使用注意事项
1。insertTab函数中的参数index并非插入之后该tab的indexeg. 我们希望执行qTabWidgetName->insertTab(1,...)之后,该tab的index为1。但如果选中该tab,并用currentIndex返回该tab的index,返回值
2011-10-16 22:55:36 4983
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人