当前位置 : 首页

OpenCV2.4.4图像仿射变换

图像仿射变换简介:

OpenCV中Mat类的图像如何设置ROI

Mat类表示的图像进行ROI操作有两种方法

  • (1)使用拷贝构造函数Mat(constMat& m, const Rect& roi ),矩形roi指定了兴趣区
    例如:

    Mat src = imread(“xx.jpg”);  
    Mat srcROI( src, Rect(0,0,src.cols/2,src.rows/2));
    

    srcROI的数据与源图像src共享存储区,所以此后在srcROI上的操作也会作用在源图像src上。

OpenCV2.4.4图像旋转和缩放

旋转变换公式的推导:

OpenCV2.4.4中调用SIFT特征检测器进行图像匹配


OpenCV中一些相关结构说明

特征点类:

class KeyPoint  
{  
       Point2f  pt;  //坐标  
       float  size; //特征点邻域直径  
       float  angle; //特征点的方向,值为[0,360),负值表示不使用  
       float  response; //  
       int  octave; //特征点所在的图像金字塔的组  
       int  class_id; //用于聚类的id  
}

OpenCV2.4.4实现Harris角点检测

代码如下:

Qt中暂停线程的执行

在线程中定义一个信号量:

OpenCV2.4.4中利用直方图均衡化增强图像对比度(Mat结构实现)

直方图就是对数据进行统计,将统计值组织到一系列事先定义好的bin(直方图中的柱子)中。bin中的数值是从数据中计算出的特征的统计量,这些数据可以是诸如梯度、方向、色彩或任何其他特征。无论如何,直方图获得的是数据分布的统计图。
灰度图像的直方图的性质:

  • 1、直方图是一幅图像中各像素灰度出现频次的统计结果,它只反映图像中不同灰度值出现的次数,而没反映某一灰度所在的位置。也就是说,它只包含了该图像的某一灰度像素出现的概率,而丢失了其所在的位置信息。
  • 2、任一幅图像,都有惟一确定一幅与它对应的直方图,但不同的图像可能有相同的直方图。即图像与直方图之间是多对一的映射关系。
  • 3、由于直方图是对具有相同灰度值的像素统计得到的,因此,一幅图像各子区的直方图之和就等于该图像全图的直方图。

岛田庄司《占星术杀人魔法》读后感

  昨天晚上夜谈的时候,聊到了少年包青天里的一个分尸案,今天查了查,叫《隐逸村案》,里面有用6个人的尸体拼出7个人的假象,马上就想到了《占星术杀人案》。
  其实用这个想法的小说还真不少,包青天里的应该是借鉴了金田一中的《异人馆村杀人事件》,而金田一是借鉴了岛田的占星术,还有庄秦的《夜长梦多》也是借鉴了岛田的占星术,这些小说里面都有拼凑尸体的诡计,但其中做的最完美的还属占星术了。

我的记单词方法

  下面分享下考研期间我复习英语过程中记单词的一个方法,我自认为比较有效,大家仅做参考。

Qt中整型转字符串的方法

程序中需要将整型转换为字符串QString类型,看了看QString的构造函数,没有直接以int类型为参数的。
很奇怪,Qt一直给人感觉做什么都很方便,怎么会没有直接将整型转换为字符串的方法呢?难道还得自己写?

OpenCV中Mat结构和Qt中QImage结构RGB排列顺序不同

Qt中利用OpenCV显示图片和视频时,需要将opencv中的MatIplImage结构转换为Qt中QImage结构,转换时需要注意的地方是OpenCV中和Qt中三原色排列顺序的不同:OpenCV中是以BGR的顺序排列,Qt中是以RGB的顺序排列,两种格式在转换时如果没注意到这点,就会出现问题,如下图:

Qt Creator中无法使用OpenCV2中新函数的解决办法

按上篇文章 Qt4.8下应用OpenCV2.4.4搭建环境详细步骤(win7)
在Qt Creator中配置了OpenCV2.4.X,但是只能使用opencv1.0的函数,opencv2中的函数,例如:imread()Mat结构等都不能使用。
找原因过程如下:

qobject_cast用法

函数原型
T qobject_cast ( QObject * object )
本方法返回object向下的转型T,如果转型不成功则返回0,如果传入的object本身就是0则返回0。

Qt中通过设置位图掩码生成异形控件

以下步骤是以按钮为例,其他控件类似