自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

HolaMirai的专栏

Talk is cheap, show me the code, run your demo~.

  • 博客(44)
  • 资源 (5)
  • 收藏
  • 关注

原创 模板匹配-多目标匹配

这里写自定义目录标题基于OpenCV的多目标模板匹配基于OpenCV的多目标模板匹配如图所示,输入原图和模板,算法将在原图上搜索模板,并返回定位结果代码已开源:地址转载请注明作者和出处:http://blog.csdn.net/holamirai,未经允许请勿用于商业用途。...

2020-05-21 18:36:30 1906 4

原创 ubuntu 打包deb并带有安装目录

0、简介当在ubuntu下开发了一个工程,期望以deb包的形式发布出去的时候,会涉及到打包操作,基本指令是dpkg -b <project_folder> <package_name.deb>然后安装的时候,执行的指令是sudo dpkg -i <package_name.deb>这是基本的操作指令,随便一搜就有很多教程,这里不再谈论,这里讨论如何...

2019-04-01 17:25:11 2625

原创 VS2015 编译DCMTK,读取CT图像并转换为OpenCV格式

一、DCMTK编译(-mD/-mDd模式)0. 材料:DCMTK3.6.2源码CMakeVS20151. DCMTK源码下载官网下载DCMTK源码:https://github.com/DCMTK/dcmtk2. CMake下载官网下载CMake软件:https://cmake.org/3. 编译3.1定位源码打开CMake,选择DCMTK源码所在目录,编译结果存放目录,如下如所示:打开CM

2017-11-08 11:35:35 3969

原创 # PCL1.72点云库配置:windows 64位 + VS2015 64位 + boost1.62.0 +Eigen3.3.1 + flann1.8.4 +

一、前言PCL的依赖均安装到:E:\PCL_dependencies 目录下。二、boost 编译2.1、下载源码采用源码编译,从这里下载boost1.62.0.zip源码。2.2、生成编译工具解压源码,在目录下有boost库自带的bootstrap.bat脚本来生成一个构建工具b2.exe。打开VS2015 x64 本机工具命令提示符,切换到解压的boost1.62.0目录,执行bootstrap

2016-12-15 11:58:41 5365

原创 opencv截图工具

一、前言在进行图像处理时,经常碰到要从一张完整的图像中截取某一部分图像保存成另一个图像,同时知道该图像是从原图像的哪里截取的。因此,这里提供该工具代码。二、实现以下代码实现用鼠标从输入图像截取图像,并以截取图像在输入图像中的矩形左上角和右下角的坐标命名。代码如下: //////////////////////////////////// /* * author: holamirai(@16

2016-11-27 17:39:30 2280

原创 C++获取文件夹下特定后缀的所有文件名

前言在使用VS进行项目开发时,经常需要引入其他库的目录,每次配置都要重复敲入各.lib的文件名,因此,本文将实现获取某一文件夹下特定后缀的所有文件名,并存入一个fileName.txt 文件中。实现main.cpp文件代码如下:#include <string>#include <io.h>#include <vector>#include <iostream>#include <fstre

2016-11-23 16:52:08 9475

原创 Opencv 图片格式转为boost::gil格式

前言项目需要将opencv格式的图像转化为boost::gil库的图像格式,特将转化方法记录。实现下面代码演示如何用opencv读取.jpg格式图片,并将其转化为boost::gil::rgb8_image_t格式图像。#include <opencv2/opencv.hpp>#include <boost/gil/image.hpp>#include <boost/gil/image_view

2016-11-18 17:40:21 1748

原创 MFC窗口重绘的一些理解

一窗口重绘函数二如何触发窗口重绘1 立即重绘2 稍后重绘三总结一、窗口重绘函数当窗口过程接收到 WM_PAINT 消息时窗口类函数成员 CWnd::OnPaint() 实现窗口重绘。默认的 OnPaint() 函数只重绘窗口控件,而不会重绘控件内的内容(如Picture Control 控件中的图片),如果控件内的内容需要重绘,需要在CWnd::OnPaint() 中添加重绘内容。二、如何

2016-10-09 17:31:31 2748 1

原创 VC+ADO+多线程高效、安全的读写数据库

一、问题介绍项目需要实时获取并处理40路相机的现场图像,并将处理结果写入到数据库,采用的方案是使用多线程技术,创建40个工作者线程,每个线程建立一个数据库连接。本文仅将项目中遇到的问题以及解决方法做些记录。二、多线程连接数据库在单线程程序中,只需建立一个数据库连接。在多线程中,因为多线程是并行处理的(对于多核CPU来说),若按单线程方式只建立一个数据库连接,多线程共用此连接,那么必然存在排队等待的问

2016-09-05 16:31:49 4285

翻译 返回局部变量如何避免拷贝:Move semantics and rvalue references in C++11

C++ has always produced fast programs. Unfortunately, until C++11, there has been an obstinate wart that slows down many C++ programs: the creation of temporary objects. Sometimes these temporary ob

2015-12-31 16:10:04 2474

原创 MFC下使用CvvImage在子对话框(非主对话框)中无法显示图片的解决方法

在MFC框架下利用OPENCV进行项目开发时,我们经常会遇到要将一幅图片显示在对话框中,通常我们利用MFC的Picture Control控件作为图片容器,若Picture Control控件是在主对话框中,这时是比较简单的,参考代码如下:1.主窗口(主对话框):void CDemoDlg::OnBnClickedButton1(){ //....................

2015-12-23 22:57:38 2387 2

转载 CString与char *互转总结

1 前言今天在网上看论坛,发现大家对CString与Char *互转各说一词,其实我发现提问者所说的情况与回答问题的人完全不是同一情况,这里做一总结.首先大家得清楚一件事,一般在网上提出问题的人大部分使用的都是VC,那么你就应该知道,在VC下编程,工程属性中有一属性Charecter Set属性,其值可以设置为Use Multi-Byte Charecter Set

2015-12-22 22:57:24 1267

原创 Halcon感兴趣区域填充特定颜色

一副图片,设置一个感兴趣区域,并用特定颜色填充关键函数:overpaint_region(Image, Region : : Grayval, Type : )说明:Overpaint regions in an image.:在一张图片上(用某颜色值)填充某个区域例子read_image (Lena, 'C:/Users/liufeng/Desktop/Lena.

2015-12-19 16:29:57 18087 1

转载 相机曝光与增益

曝光 和 增益 是直接控制传感器(CCD/CMOS)上读出来的数据,是要优先调节的,以调节曝光时间为主。不过曝的前提下,增加曝光时间可以增加信噪比,使图像清晰。软件上有个选项可以把过曝的区域显示出来。当然,对于很弱的信号,曝光也不能无限增加,因为随着曝光时间增加,噪音也会积累。所谓冷CCD就是靠降温减少噪音,从而可以长时间曝光拍摄弱信号。增益一般只是在信号弱,但不想增加曝光

2015-11-29 20:57:28 9277

原创 基于OPENCV的图像灰度分析及代码

灰度分析原理很简单,对一张深度为8位的图像,其灰度值为0~255区间,本文基于OPENCV设计了一个图像灰度分析的C++类,可以以图像的形式直观的显示图像的灰度分布,为后续处理提供参考。本C++类的输入图像可以是单通道灰度图像,也可以是三通道彩色图像,但图像深度只能是只8位深度。以下代码在VS2010 + OPENCV2.4.8 下调试通过。CGrayHisto

2015-11-19 13:33:50 2878

原创 基于OPENCV的相机标定及代码

2015年11月17上传以下是我实现的相机标定 C++ 类,构造函数如下:CCalibration::CCalibration(CvSize _board_sz, double _board_dt, int _n_boards){ //标定板的信息 board_sz = _board_sz; board_dt = _board_dt; n_boards = _n_boar

2015-11-17 11:41:08 6089 5

转载 C#嵌套类型的研究

在学习研究命名空间这一命题时,笔者对C#中的嵌套类型(Nested Type ——MSDN)进行了一些研究,在学习中参阅了《深入理解嵌套类及内部类》(JAVA)和《C#嵌套类的使用方法及特性》(C#)两篇文章,在得到指引的同时也发现了《C#嵌套类的使用方法及特性》一文中的不少错误,现在将自己的这些笔记整理发布。 由于本人毕竟是新手,难免会有错误,还请各位指正!谢谢!  一 前言

2015-11-02 09:44:22 1570

转载 C#装箱和拆箱

1、C#装箱和拆箱是一个抽象的概念    2、C#装箱是将值类型转换为引用类型;拆箱是将引用类型转换为值类型    利用装箱和拆箱功能,可通过允许值类型的任何值与Object 类型的值相互转换,将值类型与引用类型链接起来例如:int val = 100; object obj = val; Console.WriteLine (“对象的值 = {0}", obj

2015-10-31 14:59:21 1231

原创 理解C语言声明的优先级规则

说明:-------------------英文版----------------The Precedence Rule for Understanding C DeclarationsStep A : Declarations are read by starting with the name and then reading in precedence order.Ste

2015-10-10 11:40:11 645

转载 堆和栈的区别

一、预备知识—程序的内存分配    一个由C/C++编译的程序占用的内存分为以下几个部分    1、栈区(stack)—   由编译器自动分配释放   ,存放函数的参数值,局部变量的值等。其    操作方式类似于数据结构中的栈。    2、堆区(heap)   —   一般由程序员分配释放,   若程序员不释放,程序结束时可能由OS回    收   。注意它与数据结构中的堆是两

2015-09-15 22:39:40 585

原创 halcon函数笔记

reduce_domain——用于截取所画出的ROI:reduce_domain(fullImage,ROIarea,ReducedImage)

2015-09-15 19:21:31 626

原创 halcon资料

Halcon形状匹配在图像仿射变换中的应用

2015-09-15 19:20:41 855

原创 Hausdorff距离匹配算法及代码

以下是我个人实现的hausdorff距离匹配算法,采用改进的huasdorff距离算法实现匹配。C++代码在VS2010 + OpenCV2.4.8下调试通过,附上代码CHausdorff类定义如下:CHausdorff.h 文件:/******************************************* Copyright (C) 2015 Hol

2015-09-10 22:11:07 19273 19

转载 遗传算法

因为初学GA,文中自己的见解,不一定全对,感兴趣的可以一起探讨.I 简介基本概念遗传算法(Genetic Algorithms, GA)是一类借鉴生物界自然选择和自然遗传机制的随机化搜索算法。它模拟自然选择和自然遗传过程中发生的繁殖、交叉和基因突变现象,在每次迭代中都保留一组候选解,并按某种指标从解群中选取较优的个体,利用遗传算子(选择、交叉和变异)对这些个体进行组合,产生新一

2015-08-26 19:28:54 3686

转载 ANIS与UNICODE字符格式转换:MultiByteToWideChar()和WideCharToMultiByte()函数介绍

第一个就是宽字符到多字节字符转换函数,函数原型如下:int WideCharToMultiByte( UINT CodePage, DWORD dwFlags, LPCWSTR lpWideCharStr, int cchWideChar, LPSTR lpMultiByteStr, int cbMultiByte, LPCSTR lpDefaultChar, LPBO

2015-08-24 11:33:36 2863

原创 资料

Rob Hess关于Sift的说明文档

2015-08-12 20:36:56 642

转载 编程学习必备七个阶段

在学习编程的时候,总会遇到这样那样的困难,笔者整理了编程学习各阶段的问题及心态分析。希望对广大编程爱好者有帮助。第1阶段:机会你很开心,你一直想学这个新的内容,比如说某编程语言,无论是规划还是环境所迫,总之你终于有这个机会学习了。第2阶段:没有根据地乐观谷歌搜索——挑选一两个自己感兴趣的教程,买资料和书,然后开始MOOC(大规模在线开放教程)。教程很

2015-08-11 19:04:04 590

原创 cvSeqSort()函数介绍

opencv官方文档中的介绍:功能:根据指定的排序规则排序序列中的成员,规则在一个自定义函数中。cvSeqSort()函数原型:void cvSeqSort(CvSeq* seq,CvCmpFunc cmp_func, void* userdata)参数:seq —— 要排序的序列指针cmp_func —— 自定义排序规则函数,返回值为-1,0,1中一个,只有返回值

2015-08-11 18:47:58 1549

转载 cvRound, cvFloor, cvCeil

函数 cvRound, cvFloor, cvCeil 用一种舍入方法将输入浮点数转换成整数。 cvRound 返回和参数最接近的整数值。 cvFloor 返回不大于参数的最大整数值。cvCeil 返回不小于参数的最小整数值。在某些体系结构中该函数 工作起来比标准 C 操作起来还要快。参考资料: http://blog.sina.com.cn/s/blog_65f81ec601010wt2.ht

2015-07-30 22:42:26 2306

转载 理解图像中的高频分量和低频分量

形象一点说:亮度或灰度变化激烈的地方对应高频成分,如边缘;变化不大的地方对于低频成分,如大片色块区 画个直方图,大块区域是低频,小块或离散的是高频    把图像看成二维函数,变化剧烈的地方就对应高频,反之低频。     举个通俗易懂的例子:         一幅图象,你戴上眼镜,盯紧了一个地方看到的是高频分量         摘掉眼镜,眯起眼睛,模模糊糊看到的就是低频分量。

2015-07-27 18:09:44 3977

原创 VC 和 Halcon 之间的互相赋值

// HTuple→VC 数据类型转换HTuple hTuple = 1234;int i = hTuple[0].I(); // i=1234long l = hTuple[0].L(); // l=1234long lNumber = hTuple.Num(); // lNumber=1,数据个数d

2015-07-01 12:10:42 3315

原创 C/C++编译器编译过程和头文件包含错误解决方案

一、详解编译、链接    有些人写C/C++(以下假定为C++)程序,对unresolved external link或者duplicated external simbol的错误信息不知所措(因为这样的错误信息不能定位到某一行)。或者对语言的一些部分不知道为什么要(或者不要)这样那样设计。了解本文之后,或许会有一些答案。    首先看看我们是如何写一个程序的。如果你在使用某种IDE(Visual

2015-06-17 12:05:57 5114

原创 C#不同类间通过事件传递参数

C#中不同类之间传递参数的方法有许多,这里介绍其中一种方法,通过事件传递参数:    定义两个类ClassA和ClassB,要通过事件将ClassA中成员class_A,传递到ClassB,同时ClassB中成员class_B能够传递给ClassA代码如下:一、从EventArgs基类中派生一个事件数据类: public class MyEventArgs:EventArgs {

2015-06-16 22:13:18 4194

转载 [转载]WinForm窗体间传值的方法

这篇文章主要介绍了WinForm窗体间传值的方法,包括了静态变量、公共变量、共有属性等方式,是非常实用的技巧,需要的朋友可以参考下 本文实例讲述了WinForm窗体间传值的方法。分享给大家供大家参考。具体实现方法如下:        窗体间传递数据,无论是父窗体操作子窗体,还是子窗体操作符窗体,有以下几种方式:       1.公共静态变量;        2.使用共有属性;

2015-06-16 11:24:34 1096

原创 C++继承时派生类与基类有同名函数时如何分别引用

一般函数同名:当某个函数func()在基类和派生类中都有定义时,派生类中的函数func()将修改从基类继承来的函数func(),如果非要从派生类中访问基类的函数func(),有两种方法:一、定义基类指针,让基类指针指向派生类对象,则调用的是基类func();二、显示调用基类func(),形如:depriveName.baseName::func()或pDepriveName->.baseName::

2015-06-09 21:56:50 9086 4

原创 C#分割字符串split()方法

下面代码实现用“A”字符分割一个字符串成字符串数组,然后用”__”重新连接字符例如输入:HelloAworldAndYOU 输出结果:Hello__world__ndYOU static void Main(string[] args) { string str = Console.ReadLine(); string[] strAr

2015-06-05 20:50:33 989

原创 MFC通过com接口操作Excel

整体思路: http://wenku.baidu.com/view/d7383548767f5acfa1c7cd30一些细节: 对字体、边框、线条等操作引用Excel的枚举类型数据报错:提示没定义 的解决方案打开头文件,把#import "D:\\Program Files\\Microsoft Office\\Office12\\EXCEL.EXE" no_namespace 一行改

2015-06-04 18:24:13 2479 1

原创 MFC线程间发送消息

MFC线程消息分为几类: 1.线程消息: 2.窗口消息:传递消息用到 SendMessage(),PostMessage(),PostThreadMessage ()三个函数,详细请参看: http://blog.csdn.net/HolaMirai/article/details/46346091具体代码请到下面地址下载: http://download.csdn.net/detail/ho

2015-06-03 21:24:25 3817

转载 [转载]MFC注册窗口类以及FindWindow按窗口类名查询

最近在研究SendMessage函数,其中需要用到m_hWnd,之后延伸着又尝试获得窗口的句柄,于是遇到了FindWindow函数,原型如下:HWND FindWindow( LPCSTR lpClassName, //输入窗口的类名,其实需要是注册过的类名才行,否则是要报错或者查找失败的。 LPCSTR lpWindowName, //输入窗口的名称,就是窗口上面蓝色的那行玩意儿写的

2015-06-03 20:37:29 1298

原创 SendMessage(),PostMessage(),PostThreadMessage ()使用

MSDN说明: SendMessage(): Sends the specified message to a window or windows. The SendMessage function calls the window procedure for the specified window and does not return until the window procedure

2015-06-03 15:14:52 2985

VA_X FOR VS2015

Visual Assist for vs2015亲测可用,安装后替换c盘目录C:\Users\你的用户名\AppData\Local\Microsoft\VisualStudio\14.0\Extensions搜索VA_X.dll替换即可

2016-11-22

相机标定时使用的标定板

相机标定时使用的标定板,配合链接http://download.csdn.net/detail/holamirai/9275817中代码使用

2015-11-17

相机标定代码,相机标定代码

基于OPENCV与VS2010,实现对相机畸变参数的计算,标定, 基于OPENCV与VS2010,实现对相机畸变参数的计算,标定 基于OPENCV与VS2010,实现对相机畸变参数的计算,标定

2015-11-17

Hausdorff距离匹配代码

Hausdorff距离匹配代码,实现了CANNY边缘特征点、HARRIS特征点、SIFT特征点、SURF特征点的Hausdorff距离匹配

2015-09-16

MFC线程间发送消息

MFC线程间发送消息的实现代码,详细可以看我的博客MFC线程间发送消息的实现代码,详细可以看我的博客

2015-06-03

空空如也

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

TA关注的人

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