MFC
文章平均质量分 91
MFC框架介绍
丶布布
机器视觉工程师、人工智能领域优质创作者、内容合伙人、CSDN博客专家、阿里云专家博主。目前工作涉及视觉相关的缺陷检测、定位识别、芯片封装方面、深度学习、3D视觉等方面的内容,欢迎大家一起学习交流。
展开
-
[毕设&笔记] 毕设问题汇总
我毕业设计做的是芯片引脚缺陷检测,用的是halcon+MFC,其实说白了,就是将halcon的程序进行导出、拆分,嵌入到mfc各个部件中,从而实现整体功能。因为研一上学期学的其实是opencv+qt5,所以这部分不是很熟。这里主要将我做的毕设的过程,以及在这过程中遇到的问题记录下来,留作以后参考,也算是经验的积累。描述一:在检测引脚平...原创 2019-04-30 18:01:28 · 5205 阅读 · 0 评论 -
MFC学习之路(9)之如何使控件大小随着对话框大小自动调整
1)首先设置一个变量CRect m_rect; //用于保存原对话框大小2)初始化OnInitDialog()中加入GetClientRect(&m_rect); //获取对话框的大小3)手动声明、创建一个函数void CMyDlg::ChangeSize(UINT nID, int x, int y) //nID为控件ID,x,y分别为对话框的当前长和宽{CWnd ...原创 2019-04-30 18:16:50 · 783 阅读 · 0 评论 -
在MFC上基于halcon库的打开图片方法实现多次打开不同的图片
参考:https://blog.csdn.net/libaineu2004/article/details/89218670核心代码:#include"HOperatorSetLegacy.h"if (HDevWindowStack::IsOpen()) { close_window(HDevWindowStack::Pop()); } HDevWindowStack::Pu...原创 2019-05-11 18:29:43 · 524 阅读 · 1 评论 -
MFC学习之路十三之定时器的使用
定时器的介绍:1、设置定时器:CWnd::SetTimer()2)关闭定时器:CWnd::KillTimer() //括号里加入定时器id即可。3)定时器消息:WM_TIMER创建消息WM_CREATE(设置一个定时器)int CMFCApplication3Dlg::OnCreate(LPCREATESTRUCT lpCreateStruct){ if (CDialogE...原创 2019-05-11 20:02:24 · 627 阅读 · 0 评论 -
[相机开发] VC++联合相机SDK开发
SDK的英文全名是:software development kit,翻译成中文的意思就是“软件开发工具包”通俗一点说 就是第三服务商提供的实现软件产品某项功能的开发包。里面就是动态链接库,里面留下的一些函数,供开发者在不同工程环境下(例如VC、VB、C#等)进行函数的调用采集,方便开发。 ...原创 2019-05-29 11:20:55 · 3139 阅读 · 0 评论 -
[MFC] 调用相机采集图像(Halcon)
1、首先,用助手进行采集后生成代码导出上面函数导出成c++代码如下: HObject ho_Image; HTuple hv_AcqHandle; OpenFramegrabber("GigEVision", 0, 0, 0, 0, 0, 0, "default", -1, "default", -1, "false", "default", "PIN", 0,...原创 2019-05-30 20:25:31 · 3503 阅读 · 0 评论 -
多线程的使用
背景: 因为本人正在做芯片引脚缺陷检测,原理是当吸嘴将一个芯片吸过来时,需要隔一段时间(毫秒级)对其扫描识别,然后摄像机拍照获取图片,最后进行处理、检测。 当识别到吸嘴处的芯片并拍照后,不可能先后对芯片引脚的宽度、间距、共线度进行顺序检测(太慢了),这时候多线程就发挥作用了,...原创 2019-05-14 10:31:24 · 799 阅读 · 0 评论 -
[MFC] 数据转换:Hobject转Bitmap
以相机采集图像为例一、如果采集到的图像是灰度的,则: //采集灰度图像 GrabImageAsync(&ho_Image, hv_AcqHandle, -1); //获取图像单通道指针hv_Pointer GetImagePointer1(GrayImag,&hv_Pointer,&hv_Type,&...原创 2019-07-20 21:11:04 · 1146 阅读 · 0 评论 -
[MFC] 主程序如何调用类中的函数
1.在自己创建的类中定义一个指针2.类中定义函数。3.在主程序按钮函数中为指针动态开辟一个内存空间,直接调用类中的函数即可。原创 2019-08-23 16:19:35 · 3763 阅读 · 0 评论 -
[MFC] 编辑框数据的存储和读取.TEXT
一、将编辑框数据存储到.TEXT文档中 char szFilter[] = { "TXT Files (*.txt)|*.txt|Excel Files (*.xls)|*.xls||" }; CString fileName; fileName = "*.*"; CString PBFilePath; CFileDialog FileDlg(FALSE, "txt", NULL,...原创 2019-08-27 17:02:58 · 3916 阅读 · 2 评论 -
[MFC] 动态链接库的制作过程和使用方法与总结
关于动态链接库的制作过程和使用方法这部分,看了不少网上相关的内容,都看的不是很懂,所以在这里写一篇文章给那些给我一样看不懂的小白参考一下,好了言归正传, 假设有两个C++项目A、B,并且都定义了很多的子函数,这些子函数之间调用关系复杂,如果B需要通过使用DLL库的方式调用A中的一个子函数(或者多个),怎么办?  ...原创 2019-08-27 18:54:03 · 3105 阅读 · 0 评论 -
[MFC] Edit控件上的数据(可控固定位数)显示
以double类型小数0.274002149218631为例解决:方法一:精确到小数点后一位1)首先为控件Edit添加一个CString类型的变量2)添加代码: CString s; s.Format("%.lg", max); //显示一位小数 max_edit =s; UpdateData(FALSE);效果:方法二:原来多少位的小数,就显示多少位的:1)为编辑框E...原创 2019-05-08 15:49:59 · 6794 阅读 · 0 评论 -
[MFC] 将多个坐标点拟合出一条直线,并画出
参考:https://blog.csdn.net/liyuanbhu/article/details/50866802描述:最小二乘法直线拟合(不是常见的一元线性回归算法)将离散点拟合为 a x + b y + c = 0 型直线假设每个点的 X Y 坐标的误差都是符合 0 均值的正态分布的。与一元线性回归算法的区别:一元线性回归算法假定 X 是无误差的,只有 Y 有误差。注:p...原创 2019-05-08 14:57:15 · 4759 阅读 · 1 评论 -
[MFC] 对话框自带滚动条的使用
最近在整理一个别人的MFC程序的时候,发现对话框太大了,屏幕显示不下,最后决定加一个对话框自带的滚动条,以垂直滑动条为例,具体操作如下:1.添加垂直滑动条:右键对话框——>属性,将Vertical Scrollbar状态改为True。 ...原创 2019-03-26 19:02:29 · 8561 阅读 · 5 评论 -
[Qt&MFC] 各种方式的图像读取(OpenCv、Halcon)
1 .在MFC添加控件—Picture Control、按钮button2.添加初始化代码代码://以下代码是将显示的图片窗口嵌入到MFC界面当中//创建cv窗口namedWindow("view",WINDOW_AUTOSIZE);// 设置依附关系, 将cv窗口嵌入MFC主要是下述代码起作用了.HWND hWnd = (HWND)cvGetWindowHandle("view...原创 2019-03-23 20:05:02 · 3047 阅读 · 0 评论 -
[MFC] 绘制图像ROI区域(OpenCv库)
参考博客:http://www.cnblogs.com/lidabo/p/3437587.html 鼠标操作属于用户接口设计,以前一直使用Qt来做,但是如果只需要简单的鼠标,键盘操作,直接调用opencv库的函数也未尝不可,鼠标操作之前已经接触很多了,在MFC,QT,OpenGL,等等中,理论主要就是两...原创 2019-03-23 20:47:58 · 2451 阅读 · 14 评论 -
MFC学习之路(5)之生成和对话框相对应的.cpp .h文件
当Copy别人的MFC对话框的时候,直接添加别人的.cpp .h文件,有时需要改的东西太多了,所以需要我们自己生成对应的.cpp .h文件,具体操作如下:1.右键对话框——>添加类,我选了CDialog其中基类中CDialogEx和CDialog区别: CDialogEx继承自CD...原创 2019-03-26 20:43:19 · 1886 阅读 · 0 评论 -
[MFC] A对话框调用B对话框
假设A为主对话框,调用B子对话框时,需要在A的头文件中声明#include“B.h” 法一:在A对话框按钮对应的函数中声明一个B类型的指针,通过指针来达到调用B对话框的效果 //CDlgTestMode *dlh=new CDlgTestMod...原创 2019-03-26 22:01:25 · 3756 阅读 · 0 评论 -
MFC学习之路(7)之Tab Control控件的使用
参考博文:https://blog.csdn.net/dongganxiao_maidou/article/details/807785841 . 在主对话框中添加Tab Control控件,如下图所示,右键控件添加ctrl类变量m_tab2.资源视图—>右键Dialog 插入两个需要在Tab Control控件上显示的子对话框,IDD_DIALOG1.IDD_DIALOG23.主对...转载 2019-03-28 21:55:27 · 1429 阅读 · 1 评论 -
[MFC] 画笔、画刷的使用
流程:a)定义画家(OnPaint()函数中实现)b)定义画笔(CPen)、画刷(CBrush )c)将画笔、画刷交给画家使用----CDC::SelectObject实现:在OnPain()函数中加入 CPaintDC dc(GetDlgItem(IDC_STATIC3)); //用此句,得到picture控件的DC,图像将被绘制在控件上 //画笔---CPen //画线 ...原创 2019-04-26 13:06:49 · 4070 阅读 · 0 评论 -
[MFC] CWnd类总结
一、MFC 类别阶层架构二、CWnd类CWnd是MFC的一个窗口类,这个类里几乎封装了所有关于窗口操作的API函数。在Windows系统里,一个窗口的属性分两个地方存放:一部分放在“窗口类”里头,如上所述的在注册窗口时指定;另一部分放在Windows Object本身,如:窗口的尺寸,窗口的位置(X,Y轴),窗口的Z轴顺序,窗口的状态(ACTIVE,MINIMIZED,MAXM...原创 2019-04-29 11:01:57 · 8426 阅读 · 1 评论 -
CDC类的简介
CDC类: Windows使用与设备无关的图形设备环境(DC :Device Context)进行显示。MFC基础类库定义了设备环境对象类----CDC类。 CDC类从 CObject 直接继承而来。继承了CObject类的各种特性,如动态创建等等。 ...原创 2019-04-29 13:19:25 · 2586 阅读 · 0 评论 -
[MFC] 将像素坐标点缩放,准确的画在所在控件的图片上
描述:当我将点画在图片时候,如果点比较大的时候,需要将图片所在的控件放大,才能显示在图片上,而且显示的位置也不对,没改一次图片大小,画的点就会换一次位置,原因是坐标是相对于图片的像素大小而言的,也就是像素坐标。要想在mfc控件上显示准确的坐标,一种方法是将控件放大到和图片像素大小一下(显然不靠谱),而另一种方法就需要将坐标进行一个缩放了。缩放的原理:只需要将图片坐标系转换成控件坐标系即可,可...原创 2019-05-08 10:57:42 · 1657 阅读 · 0 评论 -
[MFC] 编辑框中字符串的显示或获取
建立MFC程序应用框架2.选择基于对话框,完成。3.打开界面,单机右侧工具箱,给界面添加Edit Control部件,并右键部件添加变量M_edit1原创 2019-03-23 10:03:05 · 11895 阅读 · 2 评论