自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (1)
  • 收藏
  • 关注

原创 相机标定GUI

MATLAB自带的相机标定库的GUI非常的不好用,于是自己花了一些时间做了一个相机标定的GUI,界面如下: 使用方法: 1.加载:选择需要标定图片 2.高度与宽度:分别为横纵坐标上色角点个数,不同的棋盘格图片应设置对应的数值。 2.角点检测:对同目录下的所有图片进行角点检测 3.标定:根据图片进行标定 4.保存:将标定结果保存在执行程序exe同目录下的result.txt中 5.打

2017-10-17 10:54:37 901 4

原创 opencv+mfc搭建框架

环境:vs2012+opencv2.49 功能:加载图片,保存,二值化,放大,缩小,旋转 实现方法:用opencv来实现相应的图像处理功能,用mfc的对话框来搭建框架 难点:在Mfc框架下显示图片 解决办法:根据父窗口与子窗口的关系,将opencv本身的窗口作为子窗口,映射到mfc的父窗口中。方法来源于知乎网友 jiewu https://www.zhihu.com/question/296

2017-10-10 15:30:08 852 1

原创 PCB板缺陷检测

pcb板缺陷检测是图像分析的一个典型应用方向。这次我用matlab来把整个流程实现一遍。 PCB板检测的大概流程如下:首先存储一个标准PCB板图像作为参考标准,然后将待检测的PCB板图像进行处理,比较与标准PCB图像的差异。根据差异的情况来判断缺陷类型。(1)图像预处理对于标准PCB板的图像处理包括:灰度化,二值化。而对待检测图像的处理则包括: 灰度化,滤波,除去黑点等。二者最终都会得到各自的二

2017-09-18 14:31:03 20991 10

原创 c++变量的存储类型

存储类型是对于变量而言的。一方面,它可以反映变量的存储空间的位置,另一方面它可以反映变量的生存期。 c++的存储类型有四种,自动类型、静态类型,寄存器类型和外部类型。 其格式如下: <存储类型> <数据类型> <变量名>;1.自动类型示例:auto int x;特点: 1.采用动态分配方式,在栈区分配空间。当超出作用域时,自动释放空间。 2.在函数内或语句内声明时,可省略atuo关键字

2017-08-21 21:16:36 686

原创 构造函数与析构函数的典型应用

析构函数和构造函数的典型应用是在构造函数中用new为指针成员开辟新的内存,而在析构函数中释放它们,从而避免出现野指针的错误。 示例:#include<iostream>#include<string.h>class CMyClass{ public: CName() { strName = NULL; }

2017-08-21 15:42:02 454

原创 C++中的构造函数与析构函数

构造函数与析构函数

2017-08-19 21:03:55 240

原创 C++中的类与对象

什么是类与对象? 类是一种抽象化的数据类型,一般而言,它包括数据与处理数据的函数这两大部分。而对象则是对某一类的实例。例如:class CMyClass //CMyClass为类 { };..............................CMyClass myClass; //myClass为对象1.类的定义与特点类的定义示例如下:class CMyClass

2017-08-19 09:55:01 340

原创 C++中的编译预处理命令

什么是编译预处理? 在标识符表示方法这篇博客里我们提到了编译预处理,那么,什么是编译预处理呢? 在c++进行编译时,我们可以通过一些编译命令来告诉编译器如何进行编译,这些命令并不属于c++语言的一部分,由于它们需要在编译前进行处理,所以被称为编译预处理 编译预处理命令有哪些? c++中预处理命令有三种:宏定义命令,文件包含命令,条件编译命令。 特点如下: (1).以#来引导,单独占一行

2017-08-18 20:38:07 2294

原创 c++中标识符常量表示方法

什么是标识符常量?标识符常量又称符号常量,它是指用一个符号来代替一个数值。我们为什么要用它?对于一个在程序中常常出现的数值,我们可以定义一个符号来表示它。好处是修改方便,代码可读性高。例如,在程序中用到了常数π\pi,如果每次都写3.14159263.1415926,不仅麻烦,而且容易出错,更重要的是,当你想要修改这个数值时,每一处你都需要修改,显然这是一件麻烦的事儿。如果你给π\pi取一个名字PI

2017-08-18 19:40:32 7169

原创 彩色点云初始匹配出现色彩丢失的问题

我在进行点云SAC初始匹配时,出现了点云色彩丢失的问题。如下图所示:我用了两种方法:一种是直接对PointXYZRGB格式的点云进行SAC配准,得到配准后的图像。另一种是以PointXYZ格式载入点云进行配置,根据得到旋转矩阵对PointXYZRGB格式点云进行旋转,两种方式都会出现上述现象。打开对应的pcd文件,可以看到:彩色缺失的部分全部变为了:nan.从PCL 1.0.1版本开始,用字符串“n

2017-07-09 20:04:14 1061

原创 opencv+python检测入侵物体

opencv+python检测入侵物体去年暑假在家的时候,参考别人的博客,编写了这个程序,本想着继续完善一下 ,却一直没时间做。偶然翻到了这个程序,决定放上来。 因为时间太久,我也没办法把当初参考的博客放上来(其实是因为懒得找),如果大家需要,我会放上链接。 环境:opencv2.4+python2.7# -*- coding: utf-8 -*-"""Spyder EditorThis i

2017-07-08 23:19:19 4725 1

原创 在ubuntu和QT中使用OpenCV

在ubuntu和QT中使用OpenCV在ubuntu环境下,在QT中使用OpenCV有两种方法:1.使用cmake的方式 2.使用qmake的方式首先说一说第一种方式: (1).首先编写好CMakeLists.txt,上过小学的你一定会知道,重点部分会有特殊的标记。CMakeLists.txt的重点在于一个字母都不能错,大小写必须注意了。 CMakeLists.txt的内容一般如

2017-07-08 20:45:55 1024

原创 相机的坐标转换(2):单应性矩阵的求解

在这篇文章里我们继续上一话题,对得到的转换矩阵进行求解。1.前文在上篇文章里,我们最终得到如下公式: s⎛⎝⎜uv1⎞⎠⎟=⎛⎝⎜α00−αcotθβ0u0v01⎞⎠⎟(R0TT1)⎛⎝⎜⎜⎜xwywzw1⎞⎠⎟⎟⎟s\left( \begin{array}{rrr}u \\v \\1\end{array} \right)=\left( \begin{array}{ccc}\alp

2017-03-07 15:29:16 5438 1

原创 相机的坐标系转换(1)

前言常言道,工欲善其事,必先利其器。如欲明其理,必先定其义。后一句是我编的。 不过,这句话还是有道理的。如果要想明白相机的坐标系之间的转换,那么必须明白相机有哪几个坐标系,并对它们下一个明确的定义。只有这样,我们接下来的工作才好开展。正文相机的坐标系,总共有四个,有的文章里面说是三个。不管三个,还是四个,说的都是一样的意思。在本篇文章里,我们按照四个坐标系来讲。现在,我们把它们的定义摆出来:图像

2017-02-24 15:58:42 3870 3

原创 关于从asc格式到pcd格式的转换

最近一直在学习点云处理,从同学那里拿到的是asc格式,而点云库只认pcd格式(也是非常的任性),所以进行数据处理的第一步就是转换格式. 文章的主要内容有:asc格式的说明pcd格式的说明代码思路代码效果图1.asc格式的说明许多点云数据都是asc格式,如果做点云处理很可能会遇到.asc源于ascii,asc格式意味着该文件里的数据以ascii码的形式存储.如果要打开的话,可以用notepa

2017-01-01 11:14:11 10899 2

原创 仿射变换与透视变换

仿射变换与透视变换是机器视觉中绕不开的几何知识之一.我以前在做相机标定的时候研究了一下,现在写出来,免得以后忘记.1.透视变化透视变换与透视投影密切相关.我们先来理解一下什么是透视投影,所谓透视投影,通俗地讲就是"远小近大".前段时间,一张图片在网上流行.如果你明白了透视原理,就不会出现"道理我都懂,可是鸽子为什么那么大"的迷之尴尬.透视投影是用中心投影法,沿着一系列最终汇聚到

2016-12-03 14:42:08 3315 2

原创 使用openmp加速法线估计

在PCL中使用pcl::NormalEstimation来对法线进行估计。但在对数量较大的点云进行法线计算时会耗时很长,实时性很差。PCL库提供了利用OpenMP来进行多核/多线程开发,以加快计算速度。但在使用时有可能出现以下问题:num_threads 子句的参数必须是正值。这种结果通常出现在32位程序中。虽然不会影响结果,却看着让人很不爽。解决的办法如下:只需在此前加入compute的线程

2016-12-01 13:53:23 3155 2

相机标定GUI

使用说明见http://blog.csdn.net/ganguowa/article/details/78258034

2017-10-17

空空如也

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

TA关注的人

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