- 博客(33)
- 资源 (26)
- 收藏
- 关注
原创 OpenCV中的图像几何变换
OpenCV中图像几何变换包括图像的平移,旋转,尺度,剪切变换,所有的变换都可以借助于仿射变换矩阵CTM实现,CTM是一个2*3的矩阵:1. 图像的尺度变换,缩放 cv::Mat image = cv::imread("d:/QRImage.bmp", 1); //读取原始图像 //1.尺度变换 cv::Mat resize_image, resize_image_M; cv::resize(image, resize_image, cv::Size(0, 0), 0.5,...
2021-09-29 14:03:10
351
原创 利用OpenCV dnn调用keras深度学习模块,实现图像分类
1. 导入库文件# import the necessary packagesfrom keras.models import Sequentialfrom keras.layers.convolutional import Conv2Dfrom keras.layers.convolutional import MaxPooling2Dfrom keras.layers.core import Activationfrom keras.layers.core import Flatten
2020-08-31 10:19:31
2159
2
原创 利用OpenCV dnn访问keras深度学习模型,判断人脸表情
深度学习框架模型均采用python语言进行开发,而传统的应用程序均采用C++开发,OpenCV dnn从3.4开始提供了深度学习框架模型,可以访问tensorflow、caffe等深度学习模型,采用C++开发的传统应用程序也可以利用这一接口实现深度学习功能模块,本文以人脸表情数据集为例,说明利用keras模型建立深度学习框架,再转换为tensorflow模型,然后利用OpenCV dnn调用学习模型,实现表情分类。1. 利用keras建立深度学习模型 (1)import需要的库文件...
2020-08-31 09:24:08
1470
2
原创 keras分类之多分类(dress and color)
1. 数据准备 建立数据文件夹dataset,然后按照目录分别建立对应颜色的服装,目录名为分类名,并包含了颜色关键字,如black_jeans、red_dress、blue_shirt,在每个目录下放入已经存储的图像,图像大小可以不同。2. 程序中需要引入的库# set the matplotlib backend so figures can be saved in the backgroundimport matplotlibmatplotlib.use("Agg")# ...
2020-06-05 14:16:55
497
1
原创 keras分类之二分类(Cat and dog)
1. 数据准备 在文件夹下分别建立训练目录train,验证目录validation,测试目录test,每个目录下建立dogs和cats两个目录,在dogs和cats目录下分别放入拍摄的狗和猫的图片,图片的大小可以不一样。2. 数据读取# 存储数据集的目录base_dir = 'E:/python learn/dog_and_cat/data/'# 训练、验证数据集的目录train_dir = os.path.join(base_dir, 'train')validat...
2020-06-05 11:44:31
1687
4
原创 Tensorflow Win10下安装时应该注意的几个问题
Tensorflow作为机器学习比较好的工具,安装过程比较繁琐,还会出错,我也是安装了很多遍,开始不成功,最终都成功了,使用上也没有问题,现在把自己的安装经验分享一下,希望能有所帮助。 Tensorflow的安装网上的教程比较多,比较好的教程推荐https://www.cnblogs.com/ming-4/p/11516728.html,这个教程很详细,我这边只说一下安装中的注意事项 1. Anaconda的安装,直接去官网上下载,直接安装,安装过程中注意勾选环境变量; ...
2020-05-18 11:35:53
190
原创 QT下的串口通讯编程
串口通讯是最常见、最简单的通讯方式,能够方便的在计算机和设备之间建立连接。在QT中,提供了QSeriaPort类专门负责串口通讯的编程实现,QtSerialPort模块是Qt5库的附加部分,为硬件和虚拟的串口提供了统一的接口。在使用QSeriaPort前,需要在工程文件设置中添加Serial Port支持,否则编译会报错。一、串口初始化和参数设置 1. 建立QT工程...
2019-12-24 14:23:47
1061
1
原创 学习OpenCV3 Mat类详解
Mat::Mat各种Mat构造函数。C++: Mat::Mat()C++: Mat::Mat(int rows, int cols, int type)C++: Mat::Mat(Size size, int type)C++: Mat::Mat(int rows, int cols, int type,const Scalar& s)C++: Mat::Mat(S...
2018-07-27 09:43:00
2176
原创 学习OpenCV3 面阵相机标定方法
使用OpenCV实现张正友法相机标定之前,有几个问题事先要确认一下,那就是相机为什么需要标定,标定需要的输入和输出分别是哪些?相机标定的目的:获取摄像机的内参和外参矩阵(同时也会得到每一幅标定图像的选择和平移矩阵),内参和外参系数可以对之后相机拍摄的图像就进行矫正,得到畸变相对很小的图像。相机标定的输入:标定图像上所有内角点的图像坐标,标定板图像上所有内角点的空间三维坐标(一般情况下假定图像...
2018-04-28 17:21:09
3454
1
原创 学习OpenCV3----几个简单的图像处理示例
1. 读入图像后,可以对图像进行处理,介绍了利用高斯滤波进行简单的图像处理,显示了高斯滤波前后的图像变换,GaussianBlur()函数原型: voidGaussianBlur(InputArray src, OutputArray dst, Size ksize, double sigmaX, doublesigmaY=0, int borderType=BORDER_DEFAULT);...
2018-04-11 07:53:57
3208
原创 学习OpenCV3----读写视频
在OpenCV中,提供了视频读写类VideoCapture,该类可以方便的连接计算机的摄像头,并将摄像头的视频按照帧写入单幅图像,以便进行图像处理。下面的例子中,OpenCV打开摄像头,并将图像输出到Frame中。int main( int argc, char** argv ) { if (argc != 2) { help(argv); return ...
2018-04-10 16:32:39
415
原创 学习OpenCV3 ------读写图像
在OpenCV中,提供了imread(),imwrite()方便的读写各种类型的图像,图像的兼容性非常强,imshow()则提供了读取图像的快速显示,下面的代码详细的介绍了这一应用。 int main( int argc, char** argv ) { if (argc != 2) { help(argv); return 0; } ...
2018-04-10 16:16:07
846
原创 漂亮的C#位图按钮设计
在C#程序设计中,提供了最基本的窗体设计,如果运用到商业化的产品中,显得呆板无趣,也没有个性,如果要设计商业化的产品,让自己的产品有特点,让自己的软件有个性,按钮是需要人性化的操作,好的界面离不开定制化的位图按钮。在C#中增加一个类ExButton,这个类的基类为Button,按钮通常有四种状态:正常、禁止、获得焦点、按钮,这四种状态的确立需要与鼠标的动作结合起来。在该类中,需要重载OnMouse...
2018-03-27 17:39:30
3616
原创 C#漂亮菜单设计
在工程化的应用中, 为了取得良好的风格或者具有自身特色的界面,一个重要的方面就是要重绘控件, 菜单作为比较重要的资源,经常在软件中使用,设计漂亮的菜单有助于建立良好的商业化软件。 C#的提供了MenuStrip菜单控件,为了重绘菜单,需要进行建立以MenuStrip为基类的继承类,而C#中,与菜单相关的重写函数均位于ToolStripRenderer,也要重写以ToolStripRend...
2018-03-23 16:49:30
7820
原创 学习 VS2010编程经典示例
示例一 自制对话框添加页面目的在于给自制对话框添加自己的页面,在生成的VC多视窗系统或者单视窗系统中,自动会有菜单View->Toolbars->Customize将弹出设置对话框进行设置,本例主要在此对话框中添加自己的对话框。(1) 利用VS2010向导生成视窗形式的对话框;(2) 利用添加资源的方式添加属于自己的对话框;(3) 针对该对话框建立类,...
2018-03-15 13:10:10
5749
原创 C# 中 MessageBox的使用详解
信息提示框是一个非常普遍的应用,C#的提示框位于System.Windows.Forms.MessageBox,在使用时,可以利用using System.Windows.Forms便直接写为MessageBox,在MessageBox中,存在着各种各样的使用方法,将非常方便界面设计,并且能将界面制作的比较友好。1. 一个参数,直接给出提示MessageBox.Show(string text)...
2018-03-15 13:07:10
3726
原创 C# 键盘消息处理
在C#程序设计中,经常需要处理Form中的键盘消息,在Form上,含有各种各样的控件,此时,应该注意,在C#中,对每一个控件不会相应键盘事件,键盘响应时间只针对于Form,可以在Form键盘消息中注册键盘消息。this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.MainForm_KeyDown);为了让Form相应键盘消息,应...
2018-03-15 09:29:15
2139
原创 三点绘制圆弧及C#程序设计
1. 三点绘制圆 已知三点为(x1,y1)、(x2,y2),(x3,y3),求三点形成的圆的坐标,可以设求得的圆的原点为(X,Y),半径为R,这样可以得到方程组: (x1-X)²-(y1-Y)²=R² (1)式 (x2-X)²-(y2-Y)²=R² (2)式 (x3-X)²-(y3-Y)²=R² (3)式由上述方程组可以得到: 2(x1-x2)X +2(y1-y2...
2018-03-14 17:20:48
12258
3
原创 学习VS2010 ------ 多种类型的视图集合CTabView
多种类型的视图集合CTabView首先利用AppWizard建立工程,然后将视类的基类更改为CTabView,并将所有的CView更改为CTabView。依次插入以CSrollView、CListView、CFormView、CEditView为基类的CView1、CView2、CView3、CView4,并在程序中进行引用:intCTabViewTestView::OnCreate(
2013-11-07 10:28:49
3578
原创 学习VS2010 ------ 状态栏的编程
状态栏的编程VS2010提供了CMFCStatusBar用于控制状态栏的显示,在状态栏中,可以显示图标、进度条、图形动画、更改文本的颜色和背景色、双机相应状态栏产生消息。首先利用AppWizard建立工程文件,注意建立的工程文件视类的基类选择为CFormView,在CMainFrame中定义状态栏并设置状态栏。依据状态栏中出现的次序定义常量,确定修改哪一个状态栏。const int
2013-11-07 10:25:19
4220
原创 学习VS2010 ------ 多彩界面,Ribbon编程
多彩界面,Ribbon编程 Ribbon是类似于office2007样式的界面,它替代了传统的MFC程序里的菜单和工具栏,MFC默认生成的Ribbon功能少,需要我们自己添加一些控件和图片等元素使界面好看。与菜单资源相比,Ribbon的设计使界面更加直观,带有的图标也使界面看起来更加美观。Ribbon界面设计的重要方面就是要设计所需的图标,设计图标时,需要设计小图标和大图标,Ribbon类的
2013-11-07 10:21:17
4116
原创 VS2010中新控件的编程------CMFCListCtrl列表控件的应用
CMFCListCtrl列表控件的应用 首先建立以CMFCListCtrl为基类的CMyListCtrl,并重载OnGetCellTextColor以便设置文本颜色,重载OnGetCellBkColor以便设置背景颜色,重载OnGetCellFont以便设置字体,重载OnCompareItems以便按照一定规则排序。重载的关键函数如下:COLORREF CMyListCtrl::OnG
2013-11-07 09:57:06
8127
原创 VS2010中新控件的编程------文件夹和列表控件编程
文件夹和列表控件在界面上增加Tree和列表控件,并设置属性,其中Tree设置为“has lines”,“hasbuttons”,列表控件设置为“report”类型,并添加变量: CMFCShellTreeCtrlm_ShellTree; CMFCShellListCtrlm_ShellList;在初始化中增加:m_ShellTree.Expand
2013-11-07 09:53:58
1625
原创 VS2010中新控件的编程------按照一定格式输入的对话框CMFCMaskedEdit控件
在当前对话框中加入CEdit控件,并为该控件设置CMFCMaskedEdit变量,在初始化代码中进行初始化即可,CMFCMaskedEdit的EnableMask可以设置输入相应文字,但也可通过SetValidChars控制输入的内容。m_MaskEdit1.EnableMask(_T(" ddd ddddddd"),_T("(___) ___-____"),_T(' '));
2013-11-07 09:51:20
5689
原创 VS2010中新控件的编程------字体、链接、浏览等空间的编程
字体、链接、浏览等空间的编程1) 字体列表在资源中加入Combox控件,并将属性设置为dropList,将OwnerDraw属性设置为Fixed,将has strings属性设置为TRUE。利用ClassWizard为该控件设置CMFCFontComboBox变量,利用该类的成员函数进行属性设置和变量。 m_FontCombox.SelectFont(_T("Aria
2013-11-07 09:49:44
2931
原创 VS2010中新控件的编程------颜色按钮类和颜色对话框
(1) 颜色按钮类和颜色对话框1) 颜色对话框MFC提供了颜色对话框类CMFCColorDialog进行颜色的选择,系统可以利用DoModal()调用,然后选择相应的颜色。CMFCColorDialog dlg(m_Color,0, this); if(dlg.DoModal()==IDOK) {
2013-11-07 09:47:49
3845
原创 VS2010中新控件的编程------ MFC按钮
MFC按钮1) 按钮 在Page1中加入按钮资源,并加入按钮设置风格相关的选择框,在CMFCButton中可以设置按钮的图标、图标和文本的位置、信息提示等m_bRightImage设置图标是否靠右;m_bTopImage设置图标是否朝上;m_nFlatStyle设置按钮的属性;SetImage设置按钮上的图标,其中参数1为正常状态下的图标,参数2为鼠标置于其上的图标,参
2013-11-07 09:44:47
4249
原创 VS2010中新控件的编程------MFC下的多列表视图
(1) MFC下的多列表视图在VS2010下,提供了类CMFCPropertySheet和CMFCPropertyPage进行列表视图和相关页面的加载,首先构造基于CMFCPropertyPage的页面类,建立对话框资源,将模式设置为“Child”,然后建立以CPropertyPage为基类的CPage1,将基类更换为CMFCPropertyPage,重载虚函数OnInitDialo
2013-11-07 09:43:47
2371
原创 VS2010 ------ 显示菜单Tooltip编程
显示菜单Tooltip编程菜单的Tooltip是给菜单给出相应的提示信息,可以关闭也可以打开,当然为了Tooltip相关的色彩显示,专门建立了以CMFCTooltipCtrl为基类的继承类首先以CMFCTooltipCtrl为基础,建立类CMyToolTipCtrl,并重载相关的属性函数OnFillBackground(), OnDrawSeparator( ),绘制Tooltip的背景、
2013-11-07 09:35:42
1829
原创 学习VS2010 --------- 对话框的Tooltips提示编程
对话框的Tooltips提示编程Tooltips可以针对对话框的资源进行信息提示,例如按钮等,可以作为在线帮助系统,在VS2010中,提供了类CMFCToolTipCtrl用于Tooltips的实现。(1) 利用VS2010的AppWizard建立对话框模式的工程文件;(2) 插入基类为CMFCToolTipCtrl的扩展类CMyTooltipCtrl,目的在于生成
2013-11-07 09:28:29
2072
原创 学习VS2010 -------- 桌面信息提示信息编程
桌面信息提示信息编程 目的在系统运行有各种各样的信息提示,直接从桌面的右下角弹出对话框给出提示,该提示对话框可以采用系统信息提示对话框,也可以采用自定义对话框进行提示。(1) 利用VS2010生成对话框形式的工程文件;(2) 在对话框中加入与桌面提示信息相关的控件,包括外观类型、动画类型、透明度、动画速度、自动关闭、关闭时间等;(3)
2013-11-07 09:23:38
1866
原创 学习VS2010------自制对话框添加页面
自制对话框添加页面目的在于给自制对话框添加自己的页面,在生成的VC多视窗系统或者单视窗系统中,自动会有菜单View->Toolbars->Customize将弹出设置对话框进行设置,本例主要在此对话框中添加自己的对话框。(1) 利用VS2010向导生成视窗形式的对话框;(2) 利用添加资源的方式添加属于自己的对话框;(3) 针对该对话框建立类
2013-11-07 09:15:24
1580
OpenCV dnn调用keras生成的深度学习模型,判断图像分类
2020-08-31
OpenCV调用keras生成的深度学习模型,判断人脸表情,含有数据集
2020-08-31
keras深度学习学习人脸数据库,在视频流上采集人脸判断人脸表情是否微笑
2020-08-20
qt下的modbus Tcp通讯程序
2019-08-16
机器学习十大算法编程-基于OpenCV实现
2019-01-04
漂亮的C#自绘菜单、ToolBar和状态栏
2018-03-26
C#下的自绘ListView,方便的在ListView中显示各种控件
2018-03-13
在C#下实现的橡皮筋绘图代码
2018-03-09
vs2012 Ribbon界面编程示例
2018-01-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人