自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(91)
  • 资源 (3)
  • 收藏
  • 关注

原创 将Mat图像显示到MFC PictureControl控件上

void Ctracker_test190220Dlg::ShowMatImage(Mat& src,int ID){ try { if (src.empty())//没有图像时推出 { return; } BITMAPINFO *pBmpInfo1=NULL; if (src.channels() == 1)//灰度图像显示 { pBmpIn...

2019-03-01 17:10:27 1617

转载 彻底解决显示Opencv中Mat图像到Mfc窗口问题

第一步,转换格式前预先获得待显示控件的大小,若相等则不做处理,若不等则首先改变Mat图像大小,再进行转换。 CRect rect; GetDlgItem(IDC_STATIC_SRC)->GetClientRect(&rect); cv::Size winSize(rect.right, rect.bottom); // Resize the source t...

2019-03-01 15:21:37 2279

原创 VS2013遍历目录下所有文件时产生中断错误

void getFiles(char* path, vector<string>& files){ string p = path; size_t f = p.find("*"); string p1 = p.substr(0, f); long handle; struct _finddata_t fileinfo; handle = _find...

2018-12-25 09:19:52 498

转载 图像处理、显示中的行宽(linesize)、步长(stride)、间距(pitch)

在图像数据传输和显示的过程中有一个不常用的参数:间距。间距的名称:它有很多的别名,在使用d3d显示的时候,它叫pitch;在用ffmpeg解码的时候,它叫linesize; 在用ffmpeg转换格式的时候,它叫stride。这篇文章中统一以间距来表示。间距为什么出现:这个参数看起来似乎没什么用,因为它的值和图像的宽度一样。但是那是大多数情况下,一旦遇到它和宽度不一样的时候,如果你不了...

2018-12-05 21:27:07 9222 1

转载 C# byte数组转化位Bitmap

C# byte数组转换为8bit灰度图像的问题类似的文章在网上可以看到不少,但多多少少都存在一些问题。这两天做实验室的项目用到这个功能,我从头把它整理了一遍。在看代码之前,首先解释几个问题。1、byte数组存放的是图像每个像素的灰度值,byte类型正好是从0~255,存放8bit灰度图像的时候,一个数组元素就是一个像素的灰度值。仅有这个数组还不足以恢复出原来的图像,还必须事先知道图像的长、宽值;...

2018-12-05 15:27:30 6405 1

转载 桌面应用程序

桌面应用程序:     在台式电脑上运行的应用程序称为桌面应用程序。比如:记事本,Word,Excel。     这种应用程序的特点是       1)缺少共享 2)直接双击就可以运行,不需要IE  3)一般以window的窗口形式存在   Web应用程序:       1)需要IE来执行    2)一般以网页的形式的存在  3)可以有很多的客户端来共享。         比如: ww...

2018-09-12 20:35:28 2585

转载 贝叶斯滤波

转载自:http://www.cnblogs.com/ycwang16/p/5995702.html 认知计算,还要从贝叶斯滤波的基本思想讲起。这一部分,我们先回顾贝叶斯公式的数学基础,然后再来介绍贝叶斯滤波器。(一). 概率基础回顾我们先来回顾一下概率论里的基本知识:1. XX:  表示一个随机变量,如果它有有限个可能的取值{x1,x2,⋯,xn}{x1,x2,⋯,xn}.2...

2018-08-31 11:50:26 2235 2

原创 表达式

表达式由一个或多个运算对象组成,对表达式求值将得到一个结果。字面值和变量是最简单的表达式,其结果就是字面值和变量的值。把一个运算符和一个或多个运算对象组合起来可以生成较复杂的表达式。基础1、基本概念一元运算符 二元运算符 三元运算符 左值和右值  C++的表达式要么是左值,要么就是右值。  当一个对象被用作右值的时候,用的是对象的值(内容);当对象被用作左值的时候,用的是...

2018-08-10 15:11:02 1291

原创 数组

与vector的异同相同:都是存放类型相同对象的容器 不同:数组的大小确定不变,不能随意向数组中增加元素1、定义和初始化内置数组  数组中元素的个数也属于数组类型的一部分,编译的时候维度应该是已知的,也就是说,维度必须是一个常量表达式。  默认情况下,数组的元素被默认初始化。NOTE:定义数组的时候必须制定数组类型,不允许用auto 数组元素应为对象,不能是引用显式初始...

2018-08-08 11:51:15 277

原创 向量

标准库类型vector定义:vector表示对象的集合,其中所有对象的类型都相同。访问方式:索引头文件:<vector>本质:类模板NOTE:模板本身不是类或函数,相反可以将模板看作为编译器生成类 或函数编写的一份说明。 vector是模板而非类型,由vector生成的类型必须包含vector中元素的类型,例如vector<int> vector...

2018-08-08 11:50:27 303

原创 字符串

上一篇文章主要学习的是C++的基本类型,它们是C++语言直接定义的,它们体现了计算机硬件本身具备的能力。而本篇文章将主要学习内置类型之外的标准库所定义的类型,分别是string和vector,此外还将学习用来和string与vector配套使用的类型——迭代器,其中string是可变长度的字符序列,而vector则是可变长的给定类型的序列,除此之外还将学习与上述类似的一种内置类型——数组,其也与硬...

2018-08-08 11:49:40 174

原创 基本数据类型和变量

程序语言  程序语言最基本的特征整型、字符型等内置类型 变量,用来为对象命名 表达式和语句,操纵上述数据类型的具体值 if等控制结构 函数,定义可供随时调用的计算单元  程序语言的扩展自定义数据类型 封装的库函数NOTE:  C++的对象类型决定了能对该对象进行的操作,一条表达式是否合法依赖于其中参与运算的对象的类型。  C++是一种静态数据类型语言,它的类型检查...

2018-08-08 11:48:14 4064

原创 OpenCV在C#中应用—OpenCVSharp

   1、什么是OpenCVSharp    之前一直是基于OpenCV开发视觉算法,但C++语言对于GUI的开发相对于C#来说确实很不方便,之前就了解到C#下使用OpenCV可以使用EmguCV,这段时间也确实是调通了,但是是通过把C++封装成动态链接库在C#中调用,这样在修改算法的过程中就会非常的不方便,封装DLL的时候也比较麻烦。在C#中除了Emgucv之外,还有一种叫做OpenCVShar...

2018-03-21 17:29:40 47622 27

原创 Emgucv环境配置

    Emgucv是在.NET平台下使用OpenCV视觉库的桥梁,在使用之前需要对系统进行配置,其配置和OpenCV的配置有点不同。1、EmguCV下载下载网站:http://www.emgu.com/wiki/index.php/Main_Page该网站上有EmguCV的所有资料,包括教程。下载好之后,直接安装到电脑上,安装位置可任意。本文所配置的是EmguCV3.0.0版本。2、新建一个VS...

2018-03-20 15:23:17 1697

原创 C#学习笔记(六)

1、Path类    在System.IO命名空间中,是一个静态类。用来对路径信息进行操作的类。尤其当我们处理文件的时候非常有用。string str=@"C:\Users\Administrator\Desktop\1.txt";Path.GetFileName(str);//获得文件名1.txtPath.GetFileNameWithoutExtention(str);//获得没有扩展名的...

2018-03-20 11:52:56 276

原创 C#学习笔记(五)

1、里氏转换    里氏转换需满足的条件:1)、子类可以赋值给父类;2)、如果父类中装的是子类对象,那么可以将这个父类强转为子类对象。里氏转换经常用到,如果有一个地方需要父类作为参数,我们可以给一个子类对象。上一篇文章提到过Object是所有类的父类,Console类的WriteLine(Object param)方法就是以Object类对象作为参数,所以我们可以传入int、double、stri...

2018-03-16 09:52:15 225

原创 C#学习笔记(四)

1、命名空间    主要用来解决类重名问题。    如何在一个项目中引用另一个项目中的类1)、在VS解决方案栏中项目下的引用右键添加引用;2)、在要引用其他类的CS文件中使用using引用其命名空间;2、值类型和引用类型区别:1)、值类型和引用类型在内存上存储的地方不一样;2)、在传递值类型和传递引用类型的时候,传递的方式不一样,值类型的传递称为值传递,引用类型的传递称为引用传递。值类型:int、...

2018-03-14 09:41:07 239

原创 C#学习笔记(三)

1、C#类的基本语法[权限修饰] class 类名{ 字段; 属性; 方法;}创建类的对象使用关键字new,例如要创建Person这个类的对象,则Person p = new Person();注:结构和类的本质区别是结构是面向过程的,而类是面向对象的,结构没有面向对象的几大特性,例如继承、多态等都没有。我们把包含在类或结构中的对象或值叫做字段,字段使得结构和类可以封装数据,...

2018-03-13 15:57:01 441

原创 C#学习笔记(二)

1、类型转换    变量之间总共有三种转换方式:显式转换/隐式转换、Convert转换和Parse转换。    显式转换/隐式转换适用的场合:当两个变量类型兼容时,例如int和double。    Convert转换适用的场合:当两个变量类型不兼容时,例如string转换为int或double。类型转换出现的地方:当表达式两边类型不一致时;隐式转换(自动转换):当满足两个条件时会发生隐式转换(1、...

2018-03-10 20:42:26 464

原创 C#学习笔记(一)

1、.Net平台和.Net.FrameWork框架的关系    .Net.FrameWork框架是.Net平台的一部分,它提供了一个稳定的运行环境来保证基于.Net平台开发的各种应用程序能够正常运行。    其中.Net.FrameWork框架又包含两个部分:一个是CLR(公共语言运行时),一个是.Net类库。注:C#是一种开发基于.Net平台应用的程序语言。        Java既是一种平台又...

2018-03-09 09:47:37 982 1

转载 趣解区块链技术

最近很多人都在问我,到底什么才是区块链,区块指的是啥(居民区?行政区?@_@ ),怎么就把区块给链上了,链上又能做什么,一个链子怎么又搞出一堆听不懂的币出来了,这个币我怎么没见过...... 区块链都快变成问题链了。其实我很能理解大家的这种焦虑,在这么一个万众创新的时代,每天都有很多新名词产生,每段时间都会有个所谓的风口。从早期的团购,到后来的花式共享经济,再到AI,大数据,不管是创业的不创业都能

2018-02-07 16:07:17 999

转载 工业相机全局曝光和卷帘曝光的区别

全局曝光和卷帘曝光是常见的相机曝光方式。一般来说,CCD相机是全局曝光,而CMOS相机则存在卷帘曝光。那么,这两种方式孰优孰劣呢?或者说,他们两者的差别在哪里呢?那么,先从两者的定义说起。全局曝光  全局曝光的方式比较简单。也就是说光圈打开后,整个图像芯片同时曝光。因此,曝光时间与机械的开关速度有关。既然与机械运动相关,所以,存在理论上的最小曝光时间。卷帘曝光  顾

2018-01-16 09:33:12 14095

转载 深度学习资料

原文地址:http://blog.csdn.net/hjimce/article/details/45421595作者:hjimce一、学习清单1、综合类(1)收集了各种最新最经典的文献,神经网络的资源列表:https://github.com/robertsdionne/neural-network-papers  里面包含了深度学习领域经典、以及最新最牛逼的算法

2018-01-10 16:48:52 333

转载 V-REP:虚拟机器人实验平台

V-REP(Virtual Robot Experimentation Platform虚拟机器人实验平台)机器人模拟器V-REP集成开发环境,是基于分布式控制结构:每个对象/模型可以通过内嵌的脚本,插件,ROS节点,远程API客户端,或定制的解决方案可以单独控制。V-REP用途很广,适用于多机器人应用。可以用C/C++, Python, Java, L

2018-01-10 11:35:25 4532

原创 Ubuntu双系统安装教程

最近安装了几次Ubuntu系统,由于之前的经验没有记录下来,导致每次安装都要重新去摸索,很浪费时间,在此记录一下。1、准备好Ubuntu启动盘从官网上下载好Ubuntu系统(32|64位,在此下载的64位),准备一个大于2G的U盘,将其制作成启动盘,具体怎么制作启动盘,问度娘。PS:建议专门用一个U盘来安装各种系统,将常用的系统放入自己的硬盘,每次要装系统的时候直接制作即可。2、准

2018-01-09 16:59:06 802

原创 MFC中自定义消息的实现

MFC中提供了很多的消息类型,尽管提供的消息类型很多,但仅仅这些并不能满足实际需求,因此就需要我们根据自身的要求自定义一些消息。MFC最核心的机制就是消息映射,系统本身已有的消息也是通过消息映射机制实现的,只不过被系统封装好了,我们只需要跟着向导里面的提示一步步走,就可以实现各种消息映射。自定义消息的原理亦然是基于消息映射机制,只不过这个过程需要我们自己来做,下面的示例展示了自定义消息的实现过

2017-02-12 10:28:22 560

原创 Matlab标定工具箱使用教程

Matlab标定工具箱使用教程这个教程将带你完整地利用20到25张平面棋盘格图像进行相机标定。这个教程将让你学会如何使用所有工具箱的特征:载入图像、提取图像角点、运行标定引擎、显示结果、控制精度添加和删减图像、图像矫正、导出标定不同格式的数据...这个教程对于刚开始使用工具箱的人来说非常重要。首先下载Matlab标定工具箱:[http://www.vision.caltech.edu/boug

2016-11-15 16:02:35 51206 28

原创 Matlab机器人工具箱(二)

时间与运动上一章主要介绍了在二维和三维空间中如何描述位姿。这一章则将上章拓展到对象,其位姿是时间的函数。分两个部分,第一个部分主要讨论如何产生一系列短暂的位姿序列,一条足够光滑的从起始位姿到终止位姿的轨迹;第二部分主要讨论位姿改变速率的概念,即其导数,以及如何将从机械学角度比如速度和角速度等方面将这些概念联系起来。轨迹注意路径(path)和轨迹(trajectory)的区别,路径是指从A到B

2016-11-07 10:30:23 26743 14

原创 Matlab机器人工具箱(一)

开始学习《Robotics,Vision and Control》,今天是学习的第一篇章,因为项目需要,需要在Matlab上做一个仿真实验,由于是串联机器人系统,不涉及到移动机器人系统,因此本系列文章主要是学习和介绍书中相关章节。位姿的表示主要讲述了怎么去描述2D点和3D点的位姿,重点是相对位姿的表达。1)一个点可以用一个坐标向量来描述,此坐标向量表示了此点相对于参考坐标系的位移2)由一系列

2016-11-03 11:49:10 35535 13

转载 OpenCV里IplImage的widthStep参数 和width参数

一直以为IplImage结构体中的widthStep元素大小等于width*nChannels,大错特错!(为了快速访问,要内存对齐啊)查看OpenCV2.1的源码,在src/cxcore/cxarray.cpp文件中,找到cvInitImageHeader函数,函数中对widthStep大小赋值如下:[cpp] view plain copy print?

2016-05-03 21:37:29 1582

转载 最小二乘法

监督学习中,如果预测的变量是离散的,我们称其为分类(如决策树,支持向量机等),如果预测的变量是连续的,我们称其为回归。回归分析中,如果只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析。对于二维空间线性是一条直线;对于三维空间线性是一个平面,对于多维空间线

2016-03-28 10:40:38 514

原创 meanshift运动跟踪算法详解

这几天学习《学习openCV》中的第十章运动跟踪,里面讲到了meanshift算法,根据书上所讲实在难以理解,meanshift在运动跟踪这个过程中到底起到什么作用,于是经过几天不断地看相关资料和别人的博客文章,慢慢思路清晰了,也终于知道了meanshift这个算法它到底是什么作用,起到什么样的角色,虽然为了弄明白这个算法花了几天的时间,但是通过这个过程学到了很多其他的知识。好了,接下来进入正题。

2016-03-27 16:00:01 14066 4

原创 关于解决MFC中LPCTSTR以及UNICODE上乱码的方法

由于使用的是VS2013,所以在MFC中是UNICODE字符集,所以总是不能很好地解决LPCTSTR的问题,到处显示是没有合适的什么char,string,等等到LPCTSTR的转换,尤其是当我要将文本信息显示在MFC的静态文本控件中时,使用SetWindowTextW函数,就一直显示是乱码,试过网上的各种方法,最终还是找到一个很简单的方法就解决了。 double total_err =

2016-03-22 20:20:34 4733 2

原创 计算物体的凸包(convexHull)

1、什么是凸包?         点集Q的凸包(convex hull)是指一个最小凸多边形,满足Q中的点或者在多边形边上或者在其内。右图中由红色线段表示的多边形就是点集Q={p0,p1,...p12}的凸包。   一组平面上的点,求一个包含所有点的最小的凸多边形,这就是凸包问题了。这可以形象地想成这样:在地上放置一些不可移动的木桩,用一根绳子把他们尽量紧地圈起来,这就是凸

2016-03-15 09:29:37 3891

原创 用OpenCV将图像显示在MFC的窗口中

对于OpenCV2.3以上的版本来说没有CvvImage类,所以要自己在工程中添加这个类,这个类的头文件以及实现文件在网上都可以找到现成的。添加好这个类之后,接下来就是怎么去显示这个图像了,首先需要一张图片,有两种方式,一种是通过摄像机获取,一种是直接在电脑文件中打开。首先对于第一种从摄像机中获取图像,先要利用CvCapture* capture创建一个capture指针用来连接摄像机(这

2016-03-10 14:20:48 3290

原创 MFC中创建属性页或者向导对话框

要在MFC中创建属性也或者向导对话框需要涉及到两个类:CPropertyPage和CPropertySheet类。首先需要在MFC工程中打开资源视图,在资源视图中然后在Dialog中右击插入一个对话框资源。双击新插入的对话框资源,然后右键选择其属性,在属性对话框中将其ID以及Caption改为我们自己定义的,然后将属性中的Style改为“Child”,并且将其Border改为“Thin”。

2016-03-08 22:19:56 2115 2

转载 MFC中如何去掉CPropertySheet界面下方的按钮

MFC中CPropertySheet为属性页,页面最下端自动生成的“确定”、“取消”、“帮助”和“应用”按钮无用,且放置在最下端不太美观,需要将其去掉,笔者在编程过程中采用的方法如下: 1.去掉“应用”按钮。在CPropertySheet的构造函数中添加添加语句:this->m_psh.dwFlags |= PSH_NOAPPLYNOW;作用是去掉“应用”按钮。2.去掉

2016-03-08 17:02:50 1209 1

转载 枚举总结

1、枚举enum的用途浅例      写程序时,我们常常需要为某个对象关联一组可选alternative属性.例如,学生的成绩分A,B,C,D等,天气分sunny, cloudy, rainy等等。      更常见的,打开一个文件可能有三种状态:input, output和append. 典型做法是,对应定义3个常数,即:      const int input = 1;   

2016-03-08 10:23:17 355

翻译 图像腐蚀和膨胀

目标:         在这个教程中你将学会:         应用两个最常用的形态学操作:膨胀和腐蚀。为了这个目的,你将使用下面的OpenCV函数:         erode()         Dilate()形态学操作:         简要的说:就是一系列基于形状的处理图像的操作。形态学操作对输入图像应用一个结构元素并且产生输出图像。         最基本的

2016-03-08 09:47:25 671

转载 rand函数和srand函数

首先我们要对rand&srand有个总体的看法:srand初始化随机种子,rand产生随机数,下面将详细说明。rand(产生随机数)表头文件: #include定义函数 :int rand(void)函数说明 :因为rand的内部实现是用线性同余法做的,他不是真的随机数,只不过是因为其周期特别长,所以有一定的范围里可看成是随机的,rand()会返回一随机数值,范围在0至RAND

2016-03-07 10:36:15 379

HALCON 在各编程环境中使用详解

HALCON 在各编程环境中使用详解

2016-07-15

OpenCV学习思维导图

自己总结的OpenCV的知识思维导图

2016-07-15

华工金连文教授深度学习论坛资料

华工金连文教授2016年珠江论坛结合AiphaGo关于深度学习和人工智能的讲座资料

2016-07-15

空空如也

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

TA关注的人

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