自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(116)
  • 收藏
  • 关注

原创 自动获取指定路径文件夹,删除文件夹及子文件

1.思路读取指定路径文件夹,获取文件个数、名字、大小等信息。核心函数:_findfirst、_findnext和_fineclosestruct _finddata_t { unsigned attrib; time_t time_create; time_t time_access; time_t time_write; _fsize_t size; char name[260];};time_t:其实就是long_fsize_t:就是unsigned longa

2022-04-20 21:50:43 579

原创 线程内容学习

CWinThread *_CReadThread;CWinThread *_CSaveThread;int _idThd1 = 1; _CReadThread = AfxBeginThread(PushImage, (LPVOID)_idThd1); int _idThd2 = 2; _CSaveThread = AfxBeginThread(SaveImage, (LPVOID)_idThd2);_idThd1 可以理解为不同的线程id,对应不同的内存static UINT PushIma

2021-07-28 19:57:10 171

原创 opencv代码

#include<opencv2/opencv.hpp>#include using namespace std;using namespace cv;Mat src,dst;void CallBack_Demo(int, void*);char out[] = “outPut”;int element_size = 3;int max_size = 21;int main(){//显示图像src = imread("C:\\Users\\siasun\\Desktop\

2021-07-13 21:36:24 455

原创 opencv代码

#include<opencv2/opencv.hpp>#include using namespace std;using namespace cv;int main(){//显示图像Mat src;src = imread(“C:\Users\siasun\Desktop\10.jpg”);if (src.empty()){cout << “counld not load image…” << endl;return -1;}namedWi

2021-07-13 21:35:13 175

原创 c#委托、线程、定时器学习感悟

委托定义方式举例:public delegate void DogFunction(int a)该类型的委托针对返回值类型为void,参数类型为单个int的方法for exeample:void method(int a)形象解释下委托:可以看作是在窗口买票事件,委托相当于特定窗口,方法相当于特定人群,不同的人群需要在不同的窗口买票。一种类型对应一种类型,公共规则不能乱,委托与委托的对象也是如此。表现形式:` Example ex = new Example(); D

2021-05-08 15:08:48 626

原创 c#catch错误信息自定义显示

try{}catch{ string a = DateTime.Now.ToString();// 2008-9-4 20:02:10 //string b = DateTime.Now.ToLocalTime().ToString(); string g = string.Format("时间:{0}\r\n信息:{1}",a,ee.ToString()); listBox.Items.Add(g.To

2021-04-20 16:37:01 616

原创 opencv近期学习测试代码

#include<opencv2/opencv.hpp>#include <iostream>using namespace std;using namespace cv;Mat src,dst;void CallBack_Demo(int, void*);char out[] = "outPut";int element_size = 3;int max_size = 21;int main(){ //显示图像 src = imread("C:\\Use

2021-03-15 15:45:00 337

原创 opencv图像增强

//掩模,图像增强的两种方法 cols = src.cols * src.channels(); rows = src.rows; int offset = src.channels(); Mat dst1 = Mat::zeros(src.size(), src.type()); /*for (int row = 1; row < rows; row++) { const uchar* current = src.ptr<uchar>(row); const ucha

2021-03-15 15:44:00 711

原创 图像金字塔、边缘检测、图像加权显示、直方图均衡化

//图像金字塔 //上采样 pyrUp(src, dst, Size(src.cols * 2, src.rows * 2)); pyrDown(src, dst, Size(src.cols / 2, src.rows / 2)); //高斯不同 Mat g1, g2, gr, dogImg; cvtColor(src, gr, CV_BGR2GRAY); GaussianBlur(gr, g1, Size(5, 5), 0, 0); GaussianBlur(g1, g2, Size(

2021-03-15 15:41:09 138

原创 膨胀腐蚀以及其它形态学处理

//膨胀 结构元素覆盖下图像的最大像素值 //腐蚀 结构元素覆盖下图像的最小像素值 //char out[] = "outPut"; namedWindow("out", CV_WINDOW_AUTOSIZE); createTrackbar("element_size:", "out", &element_size, max_size, CallBack_Demo); CallBack_Demo(0, 0); //回调函数 void CallBack_Demo(int, void*

2021-03-15 15:31:12 112

原创 单、多通道图像反差处理

单通道图像反差处理//读取图像像素,获取反差图 Mat gray; cvtColor(src, gray, CV_BGR2GRAY); int height, width; height = gray.rows; width = gray.cols; for (int row = 0; row < height; row++) { for (int col = 0; col < width; col++) { int gray_value = gray.at<

2021-03-15 15:22:52 150

原创 TCP通讯MODBUS协议解析

应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,然后TCP把数据流分区成适当长度的报文段(通常受该计算机连接的网络的数据链路层的最大传输单元(MTU)的限制)。之后TCP把结果包传给IP层,由它来通过网络将包传送给接收端实体的TCP层。TCP为了保证不发生丢包,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。TCP/IP层次模型共分为四层:应用层、传输层、网络层、数据链路层。...

2021-01-21 16:49:08 6586

原创 FILE写入数据到本地

新建一个文件:  FILE *f = fopen(“a.txt”,“w+”);(1)fopen()函数介绍fopen的原型是:FILE *fopen(const char *filename,const char *mode),fopen实现三个功能:  为使用而打开一个流  把一个文件和此流相连接  给此流返回一个FILR指针参数filename指向要打开的文件名,mode表示打开状态的字符串,其取值如下字符串 含义“r” 以只读方式打开文件“w” 以只写方式打开文件“a” 以追.

2020-12-29 13:42:50 1062 1

转载 MFC里Tab control控件的使用

在用MFC时想做个子界面,所以研究了一下Tab control,搜到了一个前辈的博客,按照他的方法做了下,效果可以,推荐下大佬的博客:https://blog.csdn.net/naibozhuan3744/article/details/78558067一、创建TabControl控件主要分为以下步骤1.1将TabControl控件拖入基本对话框中,并且创建一个控件变量m_tab1.2创建两个子对话框DIALOG,ID分别改为IDD_DIALOG_PAGE1和IDD_DIALOG_PAGE2。1.

2020-12-16 17:44:06 819

原创 halcon与opencv或者halcon配置修改包含目录、库目录继承值的问题

之前用vs2015配置过opencv的库,之后新建一个工程原有路径都在,再用halcon的时候opencv的路径就显得多余了,而且可能还会导致错误,我就碰到了配置halcon出错的坑,花了一个小时才解决,捂脸(表情),还好参透了其中奥妙哈啊哈哈哈,解决方法如下:在属性管理器中选择debug|win64或win32属性,打开找到属性文件,右键选择属性,在通用属性中,选择修改包含目录,库目录,选中后选择从父级或项目默认继承,这里要弄清楚,此处的这个不是打开编辑选项之后带勾选框的那个,是在下拉栏编辑选项下面那个

2020-12-15 09:38:17 303

原创 MODBUS协议简记

Modbus是OSI模型第七层上的应用层报文传输协议,只是表面的解释一下,总结一下,提醒自己别忘了

2020-11-06 16:44:41 149

原创 机器人抓取物体原理初步

比如说,你现在使用机器人,将A平台的一个物体,移动到B平台上去。那么机器人如何去确定A平台上面的物体的位置呢?那么一般会在A平台上面建立个基础坐标系XYZA,机器人有自己的一个坐标系XYZO,XYZA和XYZO的关系一般固定下来了,如果这个时候知道A平台上面物体在XYZA坐标系下的位置,就可以计算出其在XYZO坐标系位置了,这个时候机器人就知道抓取位置。在B平台上面,也是同样道理。其实就是坐标系之间的转换。...

2020-11-05 16:46:27 1653

原创 机器人工具坐标系标定原理

工具坐标系默认的工具坐标系是以法兰中心点为原点,XYZ方向固定的一个坐标系。其他任何安装在末端法兰上的工具,TCP点的位置相对于法兰中心点是固定的,以这个TCP为原点建立工具坐标系其实就可以看做相对于末端的平移和旋转。标定工业机器人使用过程中经常在机器人末端法兰面安装不同的工具来满足实际生产需求,为了准确控制工具运动的位置与姿态,需要对工具所在坐标系进行标定。对于工业机器人来说,基坐标B与 末端法兰面所在坐标系 T之间的关系在制作机器人的时候已经设定好,每次机械臂在运动时,每一个关节的旋转扭角在变化

2020-11-05 16:16:58 23055 3

转载 2020-10-28

像素坐标、图像坐标、相机坐标、世界坐标关系如下:https://blog.csdn.net/chentravelling/article/details/53558096相机标定的目的是获得相机的内外参数,通过内外参数可以实现像素坐标到世界坐标的转化...

2020-10-28 16:52:02 112

原创 关于手眼标定中RT矩阵的欧拉角和Halcon中pose的类型之间的关系

每个pose的生成,都包括TX,TY,TZ,RX,RY,RZ和一个旋转顺序 type决定。Halcon的描述中,type可以定义位’gba’,'abg’等常用模式,但是我们实际于机械手配合做项目时,不同厂家的机械手所 对应的RX,RY,RZ或A,B,C的值都不一样,并且和halcon的描述类型也无法直接对应,那如何解决这个问题呢?RT矩阵,是包含了平移和旋转两个方面,其中3*3的R矩阵,就是旋转矩阵,也就是欧拉角RX,RY,RZ或A,B,C展开成矩阵形式的数值,这些数值都是由角度的sin或cos相乘相加得

2020-10-27 16:12:36 3741 3

原创 UpdateData(TRUE)与UpdateData(FALSE)用法

在MFC显示窗口中遇到数值已经读了进来,但显示图像没有更新的情况,这就要说到UpdateData的用处UpdateData(TRUE)是将窗口中的信息数据更新到程序变量UpdateData(FALSE)是将程序中的更改在界面上更新显示。我遇到的就是程序设置完之后在界面上没有反应,在运行语句后加上UpdateData(FALSE),效果就有了...

2020-09-16 15:53:54 2409

原创 halcon算子小记

1.读写区域gen_rectangle1(Rectangle, Row1, Column1, Row2, Column2)write_region(Rectangle, ‘c://region.hobj’)read_region(Region, ‘c://region.hobj’)2.读写轮廓得到边缘轮廓edges_sub_pix(Image20200908153024, Edges, ‘canny’, 1, 20, 40)write_contour_xld_dxf(Edges, ‘fdf.d

2020-09-14 21:14:51 225

原创 双目相机视差原理以及如何根据视差求点在相机中的三维坐标

1.视差原理基线:两相机成像中心之间的距离视差原理:根据相似三角形可以得到P点在相机中的三维坐标(Xl,Yl),(Xr,Yr)是图像点P在相机中的图像二维坐标三维点坐标

2020-09-13 16:24:57 7545 1

原创 MFC菜单各功能设置

1.在单文档界面添加一个菜单,添加消息command新加一个选项text,右键选择添加事件,选择command命令,选择view类,编辑代码就可以了2.子菜单勾选//GetMenu()->GetSubMenu(0)->CheckMenuItem(2,MF_BYPOSITION | MF_CHECKED);0,2代表第一个菜单项下第三个选项设置为对勾 //GetMenu()->GetSubMenu(0)->CheckMenuItem(ID_FILE_NEW,MF_BYCOMMA

2020-09-09 22:03:45 845

原创 双目相机坐标系确定(死记)

沿相机镜头方向的为z,沿镜头方向向外的为x,根据右手定则,大拇指永远指向z方向,x方向也已知,y方向就确定了

2020-09-09 09:50:28 1545 2

原创 MFC定时器使用,MFC学习第五课部分内容

1.在需要定时器的地方加上settimer(1,100,NULL);1为标志符号,100是间隔100毫秒,回调函数设置为NULL2.添加消息响应WM-TIMER,在里面可以添加判断语句,通过标志符号进行判断,这样定时器就可以使用了内容为理论学习,后续用到继续添加相关内容...

2020-09-07 20:07:31 99

原创 MFC绘图类使用方法大全,学习视频第四课

介绍两个内容,一个是绘图工具的代码编写,一个是鼠标响应与绘图工具联合画线段、矩形框1.绘图代码/*HDC hdc; hdc = ::GetDC(m_hWnd); MoveToEx(hdc,m_Point.x,m_Point.y,NULL); LineTo(hdc,point.x,point.y); ::ReleaseDC(m_hWnd,hdc);*/ /*CDC *pDC = GetDC(); pDC->MoveTo(m_Point); pDC->LineTo(point);

2020-09-06 21:30:02 1003

原创 在多文档程序中添加对话框窗口,添加对应的类

在多文档程序中添加对话框窗口,添加对应的类首先说一下我使用的过程,多文档界面下拉列表添加一个功能—响应command命令进入对应的函数—可以在doc类里添加新建类的成员变量m_2dLocationDialog,在doc里响应函数执行m_2dLocationDialog.DoModal()进入自己建的对话框—在新建的MFC类中编辑相应函数在建的工程上右键、类向导、添加MFC类、编写类名创建新添加一个dialog对话框,改写ID,在新建类的头文件中将ID放在enum { IDD = IDD_C2DLOCA

2020-09-03 21:49:33 479

原创 成员变量调用类中函数的方法,static的作用

成员变量调用类中函数的方法,static的作用1.`class point{public:void output(){}static void init(){}`}main(){CPoint pt;pt.output;pt.init;}2.main(){point::init()point::output}1 中定义了类的对象,开辟了空间,可以调用类内函数2.中output()会出错,是因为它没有开辟内存空间,没有实体那为什么加了static就可以了,stat

2020-08-28 08:36:29 341 1

原创 新建的类里面onintdialog()初始化如何创建

新建的类里面onintdialog()初始化如何创建简单一步搞定:类视图 —> 右键对话框类 —> 属性—>重写---->添加 OnInitDialog添加完成后一些代码的初始化可以在里面完成,如初始化窗口

2020-08-27 21:30:59 157

原创 vs2012转到vs2010时程序报错error RC1015

今天在将vs2012编写的程序转到vs2010时程序报错,error RC1015: cannot open include file ‘afxres.h’,查了一下,其实很简单,只需在属性里设置平台工具集为v100即可解决。低版本在升高版本时只需更新即可,高版本转低版本需注意工具集的问题...

2020-08-27 21:18:30 259

原创 相对路径的写法

相对路径的写法使用相对路径有它的好处,在编写程序读取图像或者是配置环境的时候,使用绝对路径在自己电脑上可以运行工程,但拷贝到别的地方程序跑不起来了,使用相对路径就避免了这个问题。…/ 上一级目录./ 当前目录/ 根目录举个例子:D:\VS_program\MFCApplication4这是程序的所在,图片在他的上一级名叫img_01,则读取图片路径可表示为:“…/img_01”...

2020-08-26 20:51:05 2406

转载 mfc最小化窗口

https://jingyan.baidu.com/article/0aa22375e2089588cd0d6410.html如果界面里没有图标,要在对话框属性里将Minimize Box改为true即可

2019-09-10 08:41:31 1866

原创 MFC窗口鼠标移动图片(不成熟版)

//中键按下开始移动/*void Citem_defectInspectionDlg::OnMButtonDown(UINT nFlags, CPoint point){ // TODO: 在此添加消息处理程序代码和/或调用默认值 CRect rtImage1; GetDlgItem(IDC_STATIC1)->GetWindowRect(&rtImage1); //...

2019-08-26 09:09:34 569

转载 CString与int、double 、char*、HTuple转换

转载:https://blog.51cto.com/green906/2070580我用到的是与HTuple的类型转化,所以本次就先记录一下这个转化关系 HTuple hv_lujing;CString m_Path;CStringA StrTemp(m_Path); hv_lujing = (LPSTR) StrTemp.GetBuffer();...

2019-08-18 08:20:56 4188

原创 select_shape算子

*计算区域连接部分connection (Region, ConnectedRegions)select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 200, 900000)将连接的区域进行筛选,筛选的特征有很多,如面积长度等,可以去掉不满足条件的轮廓...

2019-08-17 20:24:49 4644

原创 mfc创建线程简介

实际上可以这样简单的理解线程,它是CPU的调度单位.而一个线程是对应一个函数.所以别把一个线程想得太复杂,就只是执行个函数而已.只不过执行的时候是并行执行罢了.如果只是简单的几个线程不涉及使用共同的资源,没其他啥关联.就完全跟简单的执行一个函数类似.只是如果多个线程间关系复杂就会涉及到啥同步问题,那样就有很多复杂的细节性问题.CWinThread *m_pThread = AfxBeginThr...

2019-07-28 21:54:03 411

转载 HTuple与vc之间的数据类型转换

HTuple→VC 数据类型转换HTuple hTuple = 1234;int i = hTuple[0].I(); // i=1234long l = [0].L(); // l=1234long lNumber = hTuple.Num(); // lNumber=1,数据个数double d = hTuple[0].D(); // d=1234.0000如果hTuple里面放的...

2019-07-28 21:41:11 2832 1

原创 阈值

*局部阈值dyn_threshold(image, ImageMean, RegionDynThresh, 15, 'light')dev_display(RegionDynThresh)*用在不均匀的照明local_threshold(ImageMean, Region1, 'adapted_std_deviation', 'light', [], [])...

2019-07-16 10:58:36 251

原创 halcon根据特征过滤区域和xld

select_shape(RegionIntersection, SelectedRegions, 'area', 'and', 150, 99999)select_shape_std(SelectedRegions, SelectedRegions1, 'rectangle1', 70)select_shape_proto(SelectedRegions1, SelectedRegions1...

2019-07-16 09:58:23 3512

高效存储文本,存储图片方法

高效存储文本,存储图片方法

2024-03-09

亚像素模板匹配相关文件

模板匹配相关文件

2024-02-17

空空如也

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

TA关注的人

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