- 博客(49)
- 资源 (6)
- 收藏
- 关注
原创 数据集汇总
Mendeley Datahttps://data.mendeley.com/https://data.world/datasetshttps://data.world/datasets
2023-02-14 14:48:25 179
原创 QT调试配置+OpenCV
QT调试配置1. 如果只在计算机上安装了VS2015,那么下图所示的MSVC2015的编译器图标会是一个黄色的感叹号,,Debuggers页面没有Windows的CDB调试器,此时可以用MSVC编译器对Qt Creator编写的程序进行编译,但是不能调试,这是因为缺少了Windows Software Development Kit(sdk)。这个SDK不会随VS2015一同安装,需要从Microsoft网站上下载。安装后重启计算机。2. win10 SDK下载地址:https://dev.
2022-04-02 11:19:36 341
转载 安川机器人编程指令含义
TEAM BUTLDINGMOTOMANINFORM说明1.输出入命令2.控制命令终端屏幕:通过主菜单的[输入输出]-----[终端]显示。另外,独立控制功能有效时,每个任务页码不同。CLS消去终端屏幕显示的文字列。ABORT中断示教再现,在人机界面表示区上显示[因ABORT 指令停止]。若因 ABORT 指令停止的情况,则从程序选择画面到重新选择程序为止不能再次启动。SETUALM使任何编号、名称、子代码的警报发生。DIALOG实行程序时显示对话框。另外,若...
2021-04-10 11:37:02 11605
原创 eigen 的欧拉角表示顺序
欧拉角的顺序:Eigen::Vector3d euler_t = rot.eulerAngles(2, 1, 0);//代表xyz顺序,euler_t(0)放的是Z的值Eigen::AngleAxisd Y(euler(2), Eigen::Vector3d::UnitZ()); Eigen::AngleAxisd P(euler(1), Eigen::Vector3d::UnitY()); Eigen::AngleAxisd R(euler(0),...
2021-04-09 21:26:14 3765
转载 机器人运动学仿真笔记
机器人运动学仿真笔记新生代的杜尔、ABB的编程和接口最简单,原生TCP坐标,但是很多客户用的是90年代日本的机器人,比如川崎、安川等。这里不对编程细节做解释,只讲讲一些基础的数学模型,便于机器人运动学开发工作。1. 坐标变换不管你用什么机器人,或是做计算机图形学的研究,都涉及到坐标变换问题。对于机器人编程来说,什么大地坐标系、机器人坐标系、工具坐标系、工件坐标系……其实他们在数学上可以看做一个位置矩阵不断的平移、旋转,而这个位置矩阵是由一个旋转矩阵和一个平移向量组成。在讲这个矩阵之前,我们.
2021-04-07 16:33:38 1312
转载 2021-04-02
一、旋转向量1.0 初始化旋转向量:旋转角为alpha,旋转轴为(x,y,z)Eigen::AngleAxisd rotation_vector(alpha,Vector3d(x,y,z))1.1 旋转向量转旋转矩阵Eigen::Matrix3d rotation_matrix;rotation_matrix=rotation_vector.matrix();Eigen::Matrix3d rotation_matrix;rotation_matrix=rotation_vector..
2021-04-02 14:11:28 379
转载 Halcon基础之“$”
i1 := 123$'#o' //8进制,0为前缀i2 := 123$'#x' //16进制,0x为前缀,7b为赋值i3 := 123$'#X' //16进制,0x为前缀,7B为赋值,7b与7B是一样的i4 := 123$'#f' //double型,默认保留小数点后六位.i5 := 123$'#g' //使数字始终保持六位,不足补零.i6 := 123$'#G' //使数字始终保持六位,不足补零.i7 := 123$'#e' //转换成科学计数i8 := 123$'#E' /
2020-12-20 21:09:59 414
原创 线程函数的参数变量传递注意事项
//部分代码如下:int k=1;CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)smooth1,&k,NULL,NULL);//其中的smooth1()函数:void smooth1(int i){int j=i;return;}//我在int j=i;设置断点,i的值为34600292//你传的是一个局部变量的地址,这块内存在函数结束后会释放掉的,你直接传值好了//部分代码如下:int k=1;CreateThread(NU.
2020-12-05 14:56:47 273
转载 2020-09-09
首先形象比喻一下:try{A程序块} catch{Exception e}{B程序块} 。。。。。 A程序块比较有可能会出错的地方,B则是如果A中有了错误,进行的处理。就好比,一个流水线上,如果有个地方有个产品堵住了不通了,如果没人处理,则整个流水线就没法动作了,要想保证整个流水线的运作则要有人把这个产品给处理了。try语句就是对A程序块的语句进行捕捉有可能出错的地方,相当于流水线上那个检查的人,catch语句则是处理的如果要想使一个catch block能抓获多种数据类型的异常对象的话,怎么办?C++标准
2020-09-10 00:10:19 89
转载 vc和halcon数据的相互赋值
vc和halcon数据的相互赋值 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 // HTuple→VC 数据类型转换 HTuple hTuple = 1234; int i = hT
2020-08-20 16:07:06 232
原创 减少匹配时间的方法
1、创建模板时:对于特别大的模型,通过将优化设置为与“none”不同的值来减少模型点的数量可能是有用的。如果最优化= 'none',则存储所有模型点。在其他情况下,根据优化值减少点的数量。如果减少了点数,则可能需要在find_scaled_shape_model中将参数Greediness设置为较小的值,例如0.7或0.8。对于小模型,模型点数量的减少不会导致搜索速度的加快,因为在这种情况下,通常需要检查模型的更多潜在实例。如果优化设置为“auto”,create_scaled_shape_model自动决
2020-08-16 13:16:31 243
转载 深入浅出Win32多线程程序设计之线程控制(类内线程)
深入浅出Win32多线程程序设计之线程控制原作者 savior1987 http://blog.chinaunix.net/uid-1878792-id-1976489.html WIN32线程控制主要实现线程的创建、终止、挂起和恢复等操作,这些操作都依赖于WIN32提供的一组API和具体编译器的C运行时库函数。一、线程函数 在启动一个线程之前,必须为线程编写一个全局的线程函数,这个线程函数接受一个32位的LPVOID作为参数,返回一个UINT,线程函数的结构为:UIN...
2020-07-17 14:38:25 455
转载 位图转mat
位图句柄,即HBITMAP类型,如何将HBITMAP转为Mat,可以尝试用以下方式转换bool hBitMapToMat(HBITMAP& _hBmp,Mat& _mat){ BITMAP bmp; GetObject( _hBmp, sizeof(BITMAP), &bmp ); int nChannels = bmp.bmBitsPixel == 1 ? 1 : bmp.bmBitsPixel/8 ; int dept
2020-07-16 12:54:25 716
转载 解决方案指导------匹配(Matching)(2)
目录第二章总论2.1 准备模板2.1.1 将参考图像简化为模板图像2.1.2 感兴趣区域的影响2.1.3 合成模型作为模板图像的替代品2.2 模板再使用2.3加快搜索速度2.3.1限制搜索空间2.3.2关于二次抽样2.4 使用匹配结果2.4.1 单个匹配方法的结果2.4.2 关于转换2.4.3 使用估计的二维位置和方向2.4.4使用估计的二维尺度2.4.5使用估计的二维单应矩阵2.4.7关于分数第二章总论匹配的一般程序是准备参考
2020-05-27 20:55:46 2780
转载 解决方案指导------匹配(Matching)(1)
关于本手册匹配是一种适合于在图像中查找和定位目标的方法。该解决方案指南引导您使用HALCON提供的各种匹配方法。第7页第1节中介绍了可用的匹配方法,包括为特定应用选择特定方法的技巧。第19页第2节讨论了一些适用于多种方法的通用主题。例如包括:选择合适的模板,速度提升的技巧和使用结果。第57页第3节提供了一些关于个别的匹配方法的细节信息。本解决方案指南中提供的HDevelop示例程序可以在目录%HALCONROOT%的指定子目录中找到。目录第一章简介1.1 怎样使用该手册?
2020-05-27 20:53:31 1251
转载 解决方案指导------匹配(Matching)(3)
第三章 单个方法现在,我们深入研究单个匹配方法,特别是以下几种目录第三章 单个方法3.1 基于灰度的匹配3.2 基于相关性的匹配3.2.1 一个例程3.2.2选择模型ROI3.2.3建立合适的NCC模型3.2.4优化搜索过程3.3 基于形状的匹配(第64页3.3节)3.3.1 一个例子3.3.2选择模型ROI3.3.3创建合适的形状模型3.3.4优化搜索过程3.3.5使用基于形状匹配的具体结果3.3.6适应相机方向的改变3.4基于组件的匹配
2020-05-27 20:50:31 3583
翻译 Win10删除 3D 音乐 等六个文件夹(包括浏览里的)
Remove the 3D Objects Folder from This PC in Windows 10 File Explorer17th May 20184th May 2018 by Manish SahayHow to Remove the 3D Objects Folder from This PC in Windows 10 File Explorer?With the release of Windows 10 in 2015, Microsoft introdu...
2020-05-23 16:21:16 882 1
原创 halcon local_threshold函数介绍
halcon local_threshold函数介绍local_threshold(Image : Region : Method, LightDark, GenParamName, GenParamValue : )使用Method中的阈值方法分割单通道图像,并在Region 中返回分割后的区域。目前,操作符只提供方法adapted_std_deviation。该算法是一种文本二值化技术,为文档图像处理提供了良好的效果。通过选择Method = 'adapted_std_deviation',根据Sa.
2020-05-19 10:21:02 3706 1
原创 MFC C++ 静态声明类
一个类在.cpp中声明可以正常用,在.h文件中声明编译会报重定义,在.h中声明时加入static Communication* Y_Plc;就可以。不清楚为什么
2020-04-28 20:29:14 363
转载 提取线条的lines_color、lines_facet、 lines_gauss算子
提取线条的lines_color、lines_facet、 lines_gauss算子Halcon中线条提取的算子主要有:lines_color(Image : Lines : Sigma, Low, High, ExtractWidth, CompleteJunctions : )lines_facet(Image : Lines : MaskSize, Low, Hig...
2020-03-26 10:23:18 795 2
转载 Halcon学习笔记:划痕、油污、瑕疵
Halcon学习笔记:划痕、油污、瑕疵划痕、油污、瑕疵,常用的方法有傅里叶变换和Blob分析。1.表面划痕invert_image(Image,ImageInvert1)mult_image(ImageInvert1, ImageInvert1, ImageResult,0.01, 0)gen_sin_bandpass (ImageBandpass, 0.6, 'none', ...
2020-03-26 10:18:59 931
原创 图漾相机 halcon手眼标定 标定板制作
图漾相机例子的编译cd到samples目录下ls;pwd; mkdir build;cd build;cmake ..;标定板制作引自https://blog.csdn.net/shiwaxinbin/article/details/7097899gen_caltab (7, 7, 0.025, 0.5, 'D:/gencaltab/150_150.descr', 'D:/gen...
2020-01-16 17:59:22 338
原创 手眼标定资料汇总
Matlab中一些比较好的ToolBox汇总。1.摄像机Camera Calibration Toolbox用的比较多的California Institute of Technology的Camera Calibration Toolbox for Matlabhttp://www.vision.caltech.edu/bouguetj/calib_doc/有几篇中文博客,第一篇...
2020-01-16 17:59:20 185
原创 ROS学习笔记
catkin_make首先输出它所使用到的每个空间所在的路径。更多关于空间的信息,请参考REP128和catkin/workspaces。需要注意的是由于这些空间存在默认配置的原因,有几个文件夹已经在catkin工作空间自动生成了,使用ls查看:build devel srcbuild 目录是build space的默认所在位置,同时cmake 和 make也是在这里被调用来配置并编译你的...
2020-01-16 17:59:11 82
转载 HALCON:Variation Model的应用
简介:Variation Model的主要原理是将待检测的图像与一张标准图像作比较,找出待检测图像与标准图像(ideal image)的明显差异(也就是不良)。标准图像可以采用几张OK品的图像训练(training)得到,也可以通过对一张OK品图像进行处理得到。训练后得到标准图像和一张variation图像(variation image),variation图像中包含了图像中每个像素点灰度值允...
2020-01-16 17:59:03 408
原创 软件平台错误修改
命令“xcopy "C:\***\bin\Debug\*.dll" "C:\***\bin\Debug\" /Y”已退出,代码为 4我的笔记本使用TFS签出代码是碰到的问题,弄了好久,每次编译直接报错。解决方案:把你签出的路径不要有中文(和空格)就可以了。因为错误已经说明了通过路径找不到文件,也就是无效的路径。但是我的路径已经确认是正确的,所以通过对比,得出是因为路径中有中文的问题...
2020-01-16 17:58:53 436
原创 C++ 学习途径大全
摘要:C++是在C语言的基础上开发的一种集面向对象编程、泛型编程和过程化编程于一体的编程语言。应用较为广泛,是一种静态数据类型检查的,支持多重编程的通用程序设计语言。关于 C++ 框架、库和资源的一些汇总列表,由 fffarazhttps://github.com/fffaraz/awesome-cpp发起和维护。内容包括:标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代...
2020-01-16 17:58:41 273
转载 char、char*、char**数组
平时都用的是char数组,基本忘记了char*数组和char**数组该怎么用了char s1[10];s1[0] s1[1]等都是chars1是char*,等同于&s1[0]char*s2[10];s2[0] s2[1]等都是char**s2[0] *s2[1]等都是char,是s2[0] s2[1]指向的字符串的第一个字符s2是char**,等同于&s2[0]...
2020-01-16 17:58:30 4425
转载 如何设计接口的参数以减少对接口的修改
在稍大型一点的项目中,总会有一个base层,我们认为它封装了最最底层和基础的一些列功能,因为底层的东西追求稳定和运行效率,所以90%是用C/C++写的,一般以头文件+DLL的方式给上层使用(不考虑它是基于COM的,如果是COM,VARIANT的参数类型就不在讨论范围内了)。头文件中定义了一些列导出函数或者导出类,这些导出函数或类的成员函数,都会有一些列参数,由于C/C++是强类型语言,所有强类型语...
2020-01-16 17:57:47 961
原创 关于数组赋值
定义一个数组char a[10];怎么给这个数组赋值呢?1、定义的时候直接用字符串赋值char a[10]="hello";注意:不能先定义再给它赋值,如char a[10]; a[10]="hello";这样是错误的!2、对数组中字符逐个赋值char a[10]={'h','e','l','l','o'};3、利用strcpychar a[10]; strcpy(a, "hell...
2020-01-16 17:57:39 1673
转载 C++知识回顾之__stdcall、__cdcel和__fastcall三者的区别
C++知识回顾之__stdcall、__cdcel和__fastcall三者的区别__stdcall、__cdecl和__fastcall是三种函数调用协议,函数调用协议会影响函数参数的入栈方式、栈内数据的清除方式、编译器函数名的修饰规则等。调用协议常用场合 __stdcall:Windows API默认的函数调用协议。 __cdecl:C/C++默认的函数调用协议。 __f...
2020-01-16 17:57:22 145
转载 _beginthreadex()参数相关的问题
DWORD __stdcall MYCLASS::RecvProc(LPVOID lparam){ ....}m_hThread[0] = (HANDLE)_beginthreadex(NULL,0,(unsigned(__stdcall *)(void *))RecvProc,NULL,0,NULL);我这样调用,可是编译的时候,老是提示 error C2440: 'type cast' : ...
2020-01-16 17:57:06 746 1
转载 c++ 多线程 消息队列 同步
一个线程专门用于与客户端进行通信,一个线程用于将客户端发过来的消息放入自己定义的一个队列中。一个线程用于将队列中的消息取出然后进行运算。比如线程1是专门负责与客户端进行通信的,接收客户端发过来的消息,线程2用于将消息放入队列中,线程3负责从队列中取出消息,进行运算处理,然后结果由线程1发回给客户端。(每次有新的客户端连接时,都给客户端分配一个标识,以便正确的进行通信。)这个涉及到多线程的同步问...
2020-01-16 17:56:57 1904
转载 MFC项目复制界面
VC++ MFC工程中中如何将一个工程的资源(如对话框)复制到另外一个工程 问题的提出:在工程1中用到的资源,在工程2中已有现成的。即工程1中要用到的对话框和工程2的完全相同,而工程2中对该对话框的布局已设计好、控件变量都绑定好了。但由于该对话框的控件特别多,如果在工程1中再设计一遍,是重复工程2的对话框工作,且工作量很大,如何将工程2设计好的资源如对话框、菜单复制到工程1中来? ...
2020-01-16 17:56:32 1450
转载 qqq
halcon有三种模板匹配方法:即Component-Based、Gray-Value-Based、Shaped_based,分别是基于组件(或成分、元素)的匹配,基于灰度值的匹配和基于形状的匹配,此外还有变形匹配和三维模型匹配也是分属于前面的大类本文只对形状匹配做简要说明和补充:Shape_Based匹配方法:上图介绍的是形状匹配做法的一般流程及模板制作的两种方法。...
2020-01-16 17:55:56 215
原创 MFC显示MAT
int CMultipleCameraDlg::ShowMat(cv::Mat img, CWnd* hWndDisplay){ if (img.empty()) return 0; //构造将要显示的Mat版本图片 RECT rect; ::GetClientRect(hWndDisplay->GetSafeHwnd(), &rect); cv::Mat ...
2020-01-01 22:01:26 321
原创 c++线程锁WaitForSingleObject
如果handle在等待时被关闭,函数的行为将无法确定。在代码中,不能同时在多个线程中调用CloseHandle与WaitForSingleObject!
2019-12-25 11:55:02 789
转载 CV::Mat
1、Opencv 创建图像时,CV_8UC1,CV_32FC3等参数的含义CV_<bit_depth>(S|U|F)C<number_of_channels>1--bit_depth---比特数---代表8bite,16bites,32bites,64bites---举个例子:如果你现在创建了一个存储--灰度图片的Mat对象,这个图像的大小为宽100,高100,...
2018-10-31 17:40:25 131
转载 编码规范之命名
1.命名命名是一个看似简单却值得深究的一个过程。变量、函数、文件等等命名有一些内在的要求:见名知义。一个好的名字可以让人一眼就知道它是做什么的,它往往是一个事物的高度概括。如果一个名字取得不好,那么可能会其他人带来阅读上的困难,甚至引起歧义。变量名和文件名一般采用名词,而函数名一般采用动宾结构。 1.1文件命名文件命名一般建议采用名词,用大驼峰法。一个文件一般代表着一个类或模块,首...
2018-10-11 17:40:28 1734
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人