- 博客(56)
- 资源 (17)
- 问答 (1)
- 收藏
- 关注
原创 5步读取txt单字节数据!
1、 新建项目-MFC-基于对话框 2、 工具箱-添加Edit控件和Button控件(设置EDIT多行显示:选中multilines,并取消AUTOHSCROLL) 3、为EDIT控件添加变量,变量类型CString,类别Value 4、双击BUTTON按钮,在函数中添加以下程序: // TODO: 在此添加控件通知处理程序代码 CString path,sdata; //t
2017-03-27 10:48:42
1438
原创 十步会用IOCOMP–iplotx控件
十步会用IOCOMP–iplotx控件1、 新建项目-MFC-基于对话框 2、 插入ActiveX控件-选择iPlotX Control 3、右击该控件,添加变量,输入变量名 4、类向导-(Dlg结尾那个类)添加函数-IplotxInit(用于该控件基本参数设置) 5、在Dlg.cpp中开头处添加以下代码:#import "iPlotLibrary.tlb" named_guids#
2017-03-27 10:41:26
7839
原创 Opencv源码之平面点集的最小包围圆
平面点集的最小包围圆--Cracent整理 2016.5.28目录1、问题背景....12、算法及原理....13、算法(摘自OPENCV)...14、基础数学知识....7三角形的外心....7三角形的三条垂直平分线必交于一点....7三角形的外心的性质....7三角形的内心....8证明....8性质....
2016-05-28 12:32:48
5129
原创 毕设之opencv椭圆批量生成与拟合
毕设之opencv椭圆批量生成与拟合1、批量生成和圆类似:见文章《毕设之opencv批量生BMP【圆】》http://blog.youkuaiyun.com/cracent/article/details/514192262、关于椭圆拟合,采用最小二乘法,方法和圆拟合类似,见文章《毕设之Opencv批量圆拟合》http://blog.youkuaiyun.com/cracent
2016-05-15 21:49:34
1466
原创 毕设之Opencv批量圆拟合
程序思路:编写read_csv()函数读取图片目录下txt文档,获取各BMP文件绝对路径以及对应圆的圆心坐标、半径参数。读取各BMP图像,转为灰度图,二值化后检测轮廓,然后检测最小圆;并将检测结果和实际结果存入txt文档。不需调参;对于完美圆的检测优于霍夫圆变换。功能小结:1、read_csv()函数void read_csv(string&csvPath, vectorStr
2016-05-15 21:41:54
4072
原创 毕设之Opencv批量霍夫圆检测
毕设之Opencv批量霍夫圆检测程序思路:编写read_csv()函数读取图片目录下txt文档,获取各BMP文件绝对路径以及对应圆的圆心坐标、半径参数。读取各BMP图像,转为灰度图,进行图像平滑,最后霍夫圆检测;并将检测结果和实际结果存入txt文档。本程序高斯平滑和霍夫圆变换都需要调参。功能小结:1、read_csv()函数void read_csv(string&csvP
2016-05-15 21:38:55
2702
原创 毕设之opencv批量生成BMP【圆】
毕设之opencv批量生成BMP【圆】程序思路:定义Mat变量,通过circle()函数操作Mat变量进行圆的绘制,再将Mat类型转为IplImage类型,通过cvSaveImage()函数进行BMP格式存储(没有找到简便的Mat变量存储为图片格式的方法)。并将所有图片的绝对地址按序号升序排列存入at.txt中功能小结:1、 新建文件夹 system("md D:\\C
2016-05-15 21:32:49
1853
1
转载 C语言中.h和.c文件解析(很精彩)
C语言中.h和.c文件解析(很精彩) 简单的说其实要理解C文件与头文件(即.h)有什么不同之处,首先需要弄明白编译器的工作过程,一般说来编译器会做以下几个过程: 1.预处理阶段2.词法与语法分析阶段 3.编译阶段,首先编译成纯汇编语句,再将之汇编成跟CPU相关的二进制码,生成各个目标文件 (.obj文件) 4.连接阶段,将各个目标文件中的各段代码进行绝对地
2016-04-23 23:32:34
1320
原创 Iocomp控件教程之数码管控件汇总
Iocomp之数码管控件汇总这些控件几乎涵盖了所有可以使用数码管的情况,非常给力!而且效果也非常之好!Seven SegmentAnalog—Seven Segment Analog 控件是一个七段模拟画面(实数)显示控件,您可以指定显示位数的总数和精细度的位数。如果值在正方向显示溢出,则显示一个向上的箭头。如果值在负方向显示溢出,则显示一个向下的箭头。Seven Segm
2016-04-17 02:42:10
4746
1
原创 Iocomp控件教程之Percent Bar——百分比工具条控件
Percent Bar——百分比工具条控件(Percent Bar)以百分比形式显示每个项目内容所占的百分比比重。在设计时,可以用属性编辑器来添加和移除项目以及更改属性值。在运行时间,使用AddItem,RemoveItem, ClearList和ItemCount用于添加或移除项目;使用ItemTitle, ItemColor和 ItemValue来更改属性值。LegendShowVal
2016-04-17 02:03:00
2126
原创 Iocomp控件教程之Pie Chart——饼状图控件
Pie Chart——饼状图控件(Pie Chart)以饼状图形式显示每个项目内容所占的百分比比重。在设计时,可以使用属性编辑器添加或者移除项目以及更改属性值。在运行时,使用AddItem,RemoveItem, ClearList和ItemCount用于添加或移除项目;使用ItemTitle, ItemColor和 ItemValue来更改属性值。LegendShowValue和 Leg
2016-04-17 01:57:58
3210
原创 Iocomp控件教程之Thermometer—温度计控件
Thermometer—温度计控件是一个线性刻度尺控件,直观样式像温度计,包括最小值和最大值显示,用于数据追踪。第一步:建立MFC对话框第二步:插入ActiveX控件--- thermometer控件第三步:单击控件-鼠标右键-添加成员变量可以通过修改属性获得不同的效果主要函数介绍:void put_Position(doublenewValue)决
2016-04-17 01:41:10
3864
1
原创 Iocomp控件教程之LinearGauge--线性刻度尺控件
线性刻度尺—线性刻度尺控件(LinearGauge)是一个具有线性表达式刻度的图像控件,支持多达5种颜色断面和4种指示器样式,同样功能,查看线性对数刻度尺(Linear Log Gauge)控件内容第一步:建立MFC对话框第二步:插入ActiveX控件---Linear Gauge控件 第三步:单击控件-鼠标右键-添加成员变量可以通过修改属性获得不同的效果主要函
2016-04-17 01:31:55
3136
原创 Iocomp控件教程之Analog Display—模拟显示控件(优于EDIT控件)
Analog Display是简洁的显示控件,用于显示指定精确度和单位的模拟值(实数),可以将精确度设置为0,使显示结果为整数。第一步:建立MFC对话框第二步:插入AnalogDisplay控件第三步:单击控件-鼠标右键-添加成员变量完成添加变量的同时,控件的.h、.c文件也会被添加到程序中主要成员函数介绍://背景颜色I_analo
2016-04-17 00:59:24
3998
2
原创 为什么要使用Iocomp控件?
为什么要使用Iocomp控件?作为一个程序员,编写软件的过程中,我们常常需要用一些工控图表和工控仪表,想要自己制作出漂亮极品的控件的非常费时费力的,这时候使用专业的第三方控件就是非常不错的选择。一来节约了开发时间,降低了开发难度;二来第三方控件更加专业更精细;三来降低项目风险。Iocomp控件包括多种用来创建专业的仪表和测量、工业控制、工业监控等相关的应用程序的控件包,如仪表盘控件、开
2016-04-17 00:54:43
11138
原创 问题处理之detectMultiScale函数objects返回值异常
如图所示,face.size()值非常大,显然这是不符合逻辑的。原因在于 链接器-输入-附加依赖项配置错误:Debug配置下则添加 以d结尾的lib文件,即opencv_world310d.libRelease配置下则添加 其他的lib文件,即opencv_world310.lib修正后,程序运行OK
2016-04-15 22:50:56
5525
1
原创 Opencv之摄像头人脸识别
代码如下:#include "stdafx.h"#include using namespace cv; int main(){ Mat img; Mat grayscaleFrame; CascadeClassifier face_cascade; face_cascade.load("haarcascade_fron
2016-04-15 22:48:52
2978
原创 Opencv之简单人脸检测
话不多说,直接上代码:#include "stdafx.h"#include using namespace cv; int main(){ CascadeClassifier face_cascade; //use the haarcascade_frontalface_alt2.xml library face_cascade
2016-04-15 22:47:51
2236
2
原创 VS之Opencv3.1永久配置
每次新建项目都要重新配置属性页,颇为麻烦,本次介绍一种较为简便的方法视图-属性管理器 按之前配置一遍(见《VS2015+Opencv3.1环境配置》),然后保存,以后使用直接导入即可。
2016-04-15 22:46:00
1307
原创 VS2015+Opencv3.1环境配置
第一步:建立Win32控制台应用程序(中间选项按系统默认即可)第二步:解决方案配置选择x64(即64位)第三步:属性页配置—包含目录、库目录、链接器-输入-附加依赖项第四步:环境变量配置计算机-右键-属性-高级系统设置-高级-环境变量-系统变量-Path-编辑我的路径是;E:\Opencv\opencv\build\x64\vc14\bin(注意分号
2016-04-15 22:43:26
2794
转载 C/C++ 图像二进制存储与读取
C/C++ 图像二进制存储与读取原文章链接: http://blog.youkuaiyun.com/yhl_leo/article/details/50782792在深度学习时,制作样本数据集时,需要产生和读取一些二进制图像的数据集,如MNIST,CIFAR-10等都提供了适合C语言的二进制版本。以CIFAR-10的数据集为例,官网上有两段关键的介绍:二进制版本数据
2016-04-08 22:50:02
4758
原创 OpenGL之鼠标控制坐标系旋转、缩放、移动
OpenGL之鼠标控制坐标系旋转、缩放、移动1、实现代码void CMyStatic::OnMouseMove(UINT nFlags, CPoint point){ // TODO: 在此添加消息处理程序代码和/或调用默认值 if (point.x { int diffX = (int)(point.x - m_fLastX
2016-04-03 11:14:41
15786
3
原创 OpenGL之建立三维坐标网格
OpenGL之建立三维坐标网格By Cracent之前的一件作品,在此与大家分享一下:这件作品里面涉及到了三维坐标网格的建立,本文将进行代码解析。1、网格建立函数void CMyStatic::GLGrid(coordpoint& pt1, coordpoint& pt2,int num){const float _xLen = (pt2.x -pt
2016-04-03 11:02:15
21935
20
转载 基于OpenGL 的STL 文件可视化研究
基于OpenGL 的STL 文件可视化研究1.引言目前,CAD 系统在三维建模上具有优秀强大的功能,但在功能梯度材料零件建模、3D模型数据处理等专业领域为了达到特定的目标,往往需要对CAD 软件进行二次开发。而在二次开发前期准备阶段,读取CAD 模型的几何信息和拓扑信息势在必行,这样,对CAD模型数据文件的可视化研究必不可少,本文在探讨STL 文件的基础上,选用简便的数据结构在OpenGL
2016-04-03 10:43:03
5987
1
原创 Opengl教程之读取stl文件并绘制在picturecontrol控件内
Opengl教程之读取stl并绘制在picturecontrol控件内By Cracent作为机械专业方向的人员,我们经常需要用SolidWorks构建模型。有些时候我们被要求将这些模型通过OPENGL进行表达。STL 是三维模型常用的文件格式,其使用三角面片来表示三维实体模型。本文进行将进行STL模型可视化研究,并开放源代码。 一、我们使用SolidWorks建立一个一字连接件并
2016-04-03 10:30:41
13119
12
原创 Opengl笔记之函数汇总
Opengl笔记之函数汇总by Cracent1.gluLookAt()——视图变换函数 把自己的眼睛当成是照相机,前三个参数表示眼睛的坐标,中间三个参数表示要拍照的物体的中心位置,可以理解成焦点吧,后三个参数表示头顶的朝向,比如说头可以歪着(哈哈)。但是我测试过,如果歪的不对,原来的正前方现在已经不是正前方了,那么就看不见物体了。举个例子:gluLookAt (0
2016-04-02 19:23:05
2247
原创 Opengl教程之 读取obj并绘制在picturecontrol控件内
Opengl教程之读取obj并绘制在picturecontrol控件内By Cracent注:本文将简单图文表述基于MFC对话框的OpenGL三维显示(picture control 类版)以及obj文件读取绘制目录一、 配置相应环境 二、 建立CMyStatic类2.1 添加类 2.2 类向导 2.2.1添加消息处理函数OnTimer(
2016-04-02 19:20:47
6157
2
原创 opengl VS环境配置
opengl VS环境配置(1)把include文件夹内东西全部复制到x:\Program Files\Microsoft\Visual Studio 10.0\VC\include文件夹中(2)把lib文件夹内东西放到静态函数库所在文件夹(即与include并排的lib文件夹下)。(3)把System32文件夹内东西全部放到操作系统目录下面的system32文件夹内。(典型的位置为:
2016-04-02 19:06:19
2338
原创 MFC之CSerialPort类双串口发送接收
MFC之CSerialPort类双串口发送接收1、 基本框架添加CSerialPort(.c、.h)文件添加到相应位置。创建对象和函数CSerialPort m_SerialPort1, m_SerialPort2;afx_msg LONG CDoublePortDlg::OnComm(WPARAM ch,LPARAM port);//此函数接收到一个字符执行一次指
2016-03-26 20:38:41
4500
原创 MFC Edit控件之enter回车捕捉
MFC Edit控件之enter回车捕捉1、 构建基本框架当输入框检测到enter按下,输入框数值将赋值到相关变量并在对应输出框显示。2、 添加相关变量四个Edit控件ID依次为:IDC_EDITIN1、IDC_EDITOUT1、IDC_EDITIN2、IDC_EDITOUT2添加对应变量:m_editIn1、m_editOut1、m_editIn2、m_editO
2016-03-26 13:11:23
13079
2
转载 pitch yaw roll
三维空间的右手笛卡尔坐标如图1所示。图1在航空中,pitch, yaw, roll如图2所示。pitch是围绕X轴旋转,也叫做俯仰角,如图3所示。yaw是围绕Y轴旋转,也叫偏航角,如图4所示。roll是围绕Z轴旋转,也叫翻滚角,如图5所示。图2
2016-02-23 20:07:41
1053
转载 STM32F10x Flash 模拟 EEPROM
STM32F10x芯片本身没有集成EEPROM,替代方案是用片上Flash来模拟EEPROM。Flash与EEPROM的区别主要是:一、EEPROM可以按位擦写,而Flash只能按块(页)擦除;二、Flash的擦除寿命约1 万次,较EEPROM低一个量级。ST网站有个Flash模拟EEPROM的范例:AN2594: EEPROM emulation in STM32F10x microco
2016-02-20 16:52:39
2505
原创 STM32软件仿真问题
今天写好程序后,进行PWM软件仿真,发现程序一直卡在SystemInit()里面。最后发现Dialog.DLL和Parameter有问题修改方法: 将“Options for Target ”中‘Debug’页面下,最下面一行的Diglog DLL:改为DARMSTM.DLL,Parameter:改为-pSTM32F103ZE。(注意:STM32F103ZE是我选的芯片型号 )
2016-02-16 13:25:53
4627
转载 STM32之GPIO的使用
一、GPIO口简介1、 GPIO口输入输出模式1.1 一般来说STM32的输入输出管脚有以下8种配置方式:输入① 浮空输入_IN_FLOATING ——浮空输入,可以做KEY识别② 带上拉输入_IPU ——IO内部上拉电阻输入 ③ 带下拉输入_IPD ——IO内部下拉电阻输入④ 模拟输入_AIN
2015-12-13 20:06:54
2103
转载 牛人对STM32的NVIC_PriorityGroupConfig使用及优先级分组方式理解
STM32有43个channel的settable的中断源;AIRC(Application Interrupt and Reset Register)寄存器中有用于指定优先级的4 bits。这4个bits用于分配preemption优先级和sub优先级,在STM32的固件库中定义如下/* Preemption Priority Group---------------------------
2015-12-13 19:11:27
2268
转载 STM32F103命名规则
对于STM32F103xxyy系列:第一个x代表引脚数:T-36pin,C-48pin,R-64pin,V-100pin,Z-144pin;第二个x代表Flash容量:6-32K,8-64K,B-128K,C-256K,D-384K,E-512K;第一个y代表封装:H-BGA封装,T-LQFP封装,U-QFN封装;第二个一代表工作稳定范围:6代表-40到85摄氏度,7代表-40
2015-12-09 13:12:26
10180
转载 滤波电容、去耦电容、旁路电容作用
滤波电容用在电源整流电路中,用来滤除交流成分。使输出的直流更平滑。 去耦电容用在放大电路中不需要交流的地方,用来消除自激,使放大器稳定工作。 旁路电容用在有电阻连接时,接在电阻两端使交流信号顺利通过。1.关于去耦电容蓄能作用的理解1)去耦电容主要是去除高频如RF信号的干扰,干扰的进入方式是通过电磁辐射。 而实际上,芯片附近的电容还有蓄能的作用,这是第二位的。
2015-11-28 19:56:21
1216
原创 1.2.4 MFC中使对话框变成圆角矩形、椭圆的代码
1.2.4 MFC中使对话框变成圆角矩形的代码 BOOLCLoginDlg::OnInitDialog() { CDialog::OnInitDialog(); SetWindowLong(m_hWnd,GWL_HWNDPARENT,NULL);CRgnm_rgn; RECT rc; GetWindowRect(&rc); //有边框对话框//GetClie
2015-09-07 22:01:11
5124
原创 1.5.3 ImageFromIDResource()函数的应用——资源ID方式加载PNG
以此种方式加载PNG,直接将PNG文件封装在exe文件内,便于使用1、加载相应PNG资源2、添加ImageFromIDResource()函数BOOL CLife001Dlg::ImageFromIDResource(UINTnID,LPCTSTR sTR, Image * & pImg){ HINSTANCEhInst = AfxGe
2015-09-07 17:11:29
2414
原创 1.7 MFC 中创建简单超链接
1.7.1创建简单超链接在需要实现网页链接功能的位置添加以下代码即可: ShellExecute(NULL,NULL,"http:\\www.baidu.com",NULL,NULL,SW_SHOWNORMAL); 1.7.2 ShellExecute()函数详解ShellExecute的功能是运行一个外部程序(或者是打开一个已注册的文件、打开一个目
2015-09-07 17:01:46
1173
Opengl教程之读取stl文件并绘制在picturecontrol控件内
2017-02-19
OpenGL实时显示物体三维姿态
2017-01-11
Opencv之摄像头人脸识别
2016-04-15
Opencv之简单人脸识别
2016-04-15
OpenGL VS环境配置
2016-04-02
MFC之CSerialPort类双串口发送接收
2016-03-26
MFC Edit控件之enter回车捕捉
2016-03-26
STM32F103ZET6--PWM_Output TIM3 PWM 重映射
2016-02-16
精准时间差计算
2015-05-28
Opengl MFC多线程如何在原窗口进行绘图
2015-08-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人