根据这段源代码 一步一步剖析CDC的使用 void CDrawSinXView::OnDraw(CDC* pDC) { CDrawSinXDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native data here //建立画笔 CPen pen_Zuobixi,pen_sinx; pen_Zuobixi.CreatePen(PS_SOLID,4,RGB(0,0,0)); pen_sinx.C…
作业要求: 按下鼠标右键画圆. 按下鼠标左键移动曲线. 丝毫没有思路..网上教程又比这个程序复杂100倍... 好吧 总算找到一个合适的了... 转载至:http://blog.chinaunix.net/uid-26275986-id-3868272.html 红色字部分是我自己的注解 学习MFC就像玩魔术,着实有趣,从传统的黑白命令行跳到熟悉的窗口界面,感觉还是很新鲜的.尽管MFC的知识更多是应用性的,但是自己还是想尽快掌握起来独立地写出图形接口的程序.今天学习的是如何绘制简单的图形,比如直…
1.CPtrArray指针数组 2.CPtrArray返回void指针,需要做类型转换 3.View类中的OnPaint调用OnPrepareDC和OnDraw,如果覆盖OnPaint,就不会调用OnDraw(除非显式调用) 4.坐标空间 Coordinate Spaces and Transformations Win32®-based applications use coordinate spaces and transformations to scale, rotate, transl…
作业要求: 用定时器控制蝴蝶在窗口废物,如图所示... 这是什么鬼作业啊...蝴蝶还要我这个手残手画啊233333333          (ノಠ .ಠ)ノ彡┻━┻ 不过多亏之前几个鬼作业的福 收获颇丰富~~~~ 好吧,,老规矩,,现在网上看看教程先...干程序员这行,不会翻资料就是傻瓜T T...... 既然是定时器....先学下定时器是什么玩意.. 转载至 http://www.jizhuomi.com/software/232.html 大概懂了定时器是什么玩意...主要代码如下: voi…
设计如图所示的菜单,并编写相应用的消息处理函数.. 菜单1: 画图 画线 画矩形 画图 菜单2:颜色 红色(r) CTRL+F2; 绿色(g) CTRL +F1 蓝色(b) CTRL+F3: 问题:VIEW如何调用CMainFrame里面的变量? CMainFrame* pF = (CMainFrame*)GetParent(); pF->变量名..…
要求..单击出现 一个输入成绩的框,点确定后,计算平均成绩 意义很大~ 完成对话框   再写个鼠标点击的响应部分 鼠标点击的响应部分为难点.... void CWj1401_0302140107_9View::OnLButtonDown(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default UpdateData(TRUE); DIALOG1 newdlg; CDC…
界面已经实现完毕. 要完成的操作就是1.性别分组(2选1) 2.属性勾选 3.年龄通过滚动条调整 4.职称通过下方的列表框选择 5.输入姓名 6.存入左方的列表框 7.当选择左方列表框的人时,可以显示出之前保存的信息..... 好吧一步步学... 一:单选框 性别分组 先创建两个单选框..然后用组框框住就OK!! 如何表示选取呢?第一个选择group 浮动 第二个选择 浮动. 然后建立个类向导 radio 选第一个时radio=0: 选第二个时radio=1; 二:滚动条 拖年龄 http://…
MFC 学习笔记 一.MFC编程基础: 概述: 常用头文件: MFC控制台程序: MFC库程序: 规则库可以被各种程序所调用,扩展库只能被MFC程序调用. MFC窗口程序: 示例: MFC库中类的简介: 具体详细细节可以参考离线文档 第一个MFC程序: 1.创建一个win32程序 2.设置使用MFC 3.添加类 #include <afxwin.h> class CMyFrameWnd : public CFrameWnd{ }; class CMyWinApp : public CWinAp…
C#数字图像处理算法学习笔记(三)--图像几何变换 几何图像处理包括 图像的平移变换,镜像变换,旋转变换,伸缩变换,在这里仅以水平镜像为例,通过代码来理解其基本操作方式: 翻转前:…
今天我们来看一下如何访问图像的像素,以及如何改变图像的亮度与对比度. 在之前我们先来看一下图像矩阵数据的排列方式.我们以一个简单的矩阵来说明: 对单通道图像排列如下: 对于双通道图像排列如下: 那么对于三通道的RGB图像则为: 知道了排列方式之后我们来讨论一下访问图像像素常用的三种方式: 1.使用指针访问: 2.使用迭代器访问: 3.使用动态地址访问: 为了比较一下三种方式的效率,我们介绍两个函数来统计一下每种方式所需的时间. int64 getTickCount()函数:返回CPU自某个时间(…
      首页 视界智尚 算法技术 每日技术 来打我呀 注册     OpenCV学习笔记大集锦 整理了我所了解的有关OpenCV的学习笔记.原理分析.使用例程等相关的博文.排序不分先后,随机整理的.如果有好的资源,也欢迎介绍和分享. 1:OpenCV学习笔记 作者:CSDN数量:55篇博文网址:http://blog.csdn.net/column/details/opencv-manual.html 2:部分OpenCV的函数解读和原理解读 作者:梦想腾飞数量:20篇博文网址:http:/…
获取窗口句柄 FindWindow               根据窗口名获取 GetSafehWnd                取你程序所在窗口类的句柄 GetActiveWindow          取当前活动窗口句柄 AfxGetMainWnd            取主窗口句柄 GetForegroundWindow   取前台窗口句柄 窗口对象和CWnd对象,Attach和Detach函数 CWnd对象实际上并没有把整个Windows对象都包装在其中,它只是有一个窗口句柄.(在M…
什么是MFC MFC,全称Microsoft Foundation Classes,微软基础类库,顾名思义,是微软的攻城狮们将一些常用的基础的Windows API 函数用C++的形式封装成类,简化程序猿的工作,将C++面向对象这一特点很好的表现出来. 用MFC可以用鼠标来编辑界面,管理各种控件,以及简化一些操作如字符串操作.文件操作.时间日期操作.网络操作.Windows系统操作.数据库操作…… 既然MFC是类库,那么她必然会用到类的特性:模板类.类的封装继承.虚继承.多态性等等. 然而就我的…
个人对MFC技术一直都很感兴趣,因为能够做出漂亮绚丽的界面应该是一件十分有成就感的事情. 学习的参考课本为北京博彦科技发展有限责任公司翻译的Jeff Prosise著的<MFC Windows程序设计(第2版)>. 对于MFC本阶段的学习主要采用标题:MFC-01-Chapter0x:Title MFC系列学习较为繁琐,希望自己能够坚持. Come on baby don't be shy!…
这里会介绍如何创建python程序的图像用户界面(GUI),也就是那些带有按钮和文本框的窗口等.目前支持python的所谓“GUI工具包”的有很多,本文简要介绍最成熟的跨平台pythonGUI工具包---wxPython. 一. 下载和安装wxPython 1.1 下载 访问下载页面:http://wxpython.org/download.php即可. 要注意以下几点: 1. 如果是windows系统,应该下载预建的二进制版本,可以选择支持Unicode或不支持Unicode,除非一定要用到U…
关键 1参数里的分辨率是图像本身的分辨率,而不是指定生成的视频分辨率.如果要修改分辨率,要么后期软件处理,要么读图的时候resize 2要正常退出,不要强制退出. 3生成的只能是avi格式. #include <iostream> #include <string> #include "opencv2/highgui/highgui.hpp" #include "opencv2/core/core.hpp" #include "op…
学习图像上的算术运算,加法,减法,位运算等 1.图像加法 使用cv2.add()将两幅图像进行加法运算,也可以用numpy运算,直接img+img1.两幅图像的大小和类型必须一致,或者第二个图像可以是一个简单的标量值. 两种操作的本质区别在于OpenCV的加法是一种饱和操作,加到顶后就不在上升了:而Numpy是模操作,具体如下: import numpy as npimport cv2 x = np.uint8([250])y = np.uint8([10])print(cv2.add(x,y)…
前言 学习了鸡啄米网页的前三部分后,我们就可以做一个小软件出来了,我选择先做一个计算器. 这是Win7系统自带的计算器: 为了提升成就感,我将计算器的大部分内容去除,于是就变成这样: 这样就只剩下了16个按钮和一个文本显示框,这样就简单多了! 新建一个MFC对话框应用程序 打开VS2010点击Start Page中的New Project(新建工程),或者菜单栏File -> New -> Project 弹出新建项目对话框,在左侧选择MFC,然后在中间选择MFC Application 在下…
1.CArchive类保存内存数据 2.CAchive类重载了>>与<<操作符,类似C++文件流 3.在OnNewDocument中通过SetTitle设置标题 4.字符串资源中IDR_MAINFRAME的第二个子串是文档标题 5.在App类初始化函数中将标题传进去 6.GetDocString获取字符串资源值 7.IDR_MAINFRAME字符串资源含义: 8.Doc类中的Serialize是保存/加载数据的函数 9.保存后打开同一文件不会进入Serialize函数(MFC认为文…
1.指向常量的指针 2.指针常量 3.C语言对文件操作是在缓冲区,在缓冲区满或文件关闭时写入文件 读取相同 4.fflush刷新缓冲区,使缓冲区数据写入文件 5.fseek改变文件指针偏移量 6.stell获取文件指针当前位置 7.rewind重新放置文件指针到开始处 8.写入换行会变成两个字节(回车与换行) 9.读文件时,如果以二进制读入,换行符与回车是两个字符,如果以文本方式读入,换行符与回车是两个字符 10.二进制文件和文本文件 11.文本方式与二进制方式 12.写入与读取应该用同一种方式…
1.SetPixel在指定点设置像素 2.虚线.点线宽度必须为1 3.CColorDialog创建颜色对话框 4.需要设置CC_RGBINIT标志才能设置颜色对话框的默认颜色 5.CC_FULLOPEN标记可以打开完整颜色对话框 6.CreateFontIndirect通过LOGFONT创建字体 7.DeleteObject删除关联的对象 8.通过实例句柄判断是否关联对象 9.GetWindowRect获取屏幕坐标 10.ScreenToClient转换屏幕坐标为客户区坐标 11.WM_CTLC…
1.画线方法 *1.捕获鼠标按下和弹起消息,获取两个点 *2.消息响应,画线 2.在CMainFrame类中的鼠标左键事件得不到响应的原因是CNameView覆盖了CMainFrame 3.注释宏 4.画线方法 *1.HDC *2.CDC(MFC封装) *3.CClientDC(不用显式释放资源) *4.CWindowDC(可以画到非客户区) 5.画线步骤 *1.获取DC *2.MoveTo到原点 *3.LineTo到目标点 *4.释放DC 6.CPen 构造函数参数: 线类型PS_SOLID等…
1.MFC中WinMain函数的位置在APPMODUL.cpp APPMODUL.cpp中是_tWinMain,其实_tWinMain是一个宏#define _tWinMain WinMain 2.全局变量(对象)的构造在入口函数之前 3.带有Afx前缀的函数是应用程序框架函数(Application Framework) 4.MFC程序运行过程 *1.产生全局对象 CNameApp类InitInstance函数,调用父类构造函数,做一些初始化工作并保存子类的指针 *2.进入WinMain函数…
目的 我们将探索以下问题的答案: 如何遍历图像中的每一个像素? OpenCV的矩阵值是如何存储的? 如何测试我们所实现算法的性能? 查找表是什么?为什么要用它? 测试用例 这里我们测试的,是一种简单的颜色缩减方法.如果矩阵元素存储的是单通道像素,使用C或C++的无符号字符类型,那么像素可有256个不同值.但若是三通道图像,这种存储格式的颜色数就太多了(确切地说,有一千六百多万种).用如此之多的颜色可能会对我们的算法性能造成严重影响.其实有时候,仅用这些颜色的一小部分,就足以达到同样效果. 这种情…
TensorFlow支持JPG.PNG图像格式,RGB.RGBA颜色空间.图像用与图像尺寸相同(height*width*chnanel)张量表示.通道表示为包含每个通道颜色数量标量秩1张量.图像所有像素存在磁盘文件,需要被加载到内存. 图像加载与二进制文件相同.图像需要解码.输入生成器(tf.train.string_input_producer)找到所需文件,加载到队列.tf.WholeFileReader加载完整图像文件到内存,WholeFileReader.read读取图像,tf.ima…
使用Visual Studio新建一个空项目,项目命名为HelloMFC,完成后,打开项目属性页面,将配置属性选项卡中的常规项打开,将其中的MFC的使用属性栏改为:在静态库中使用MFC或者在共享DLL中使用MFC,同时将字符集属性栏改为使用Unicode字符集. 图1-1 新建一个空项目 图1-2 更改项目属性 完成以上更改后,在项目头文件中添加新建项头文件,命名为Hello.h,头文件代码如下: class CMyApp : public CWinApp { public: virtual B…
0:MFC类层次结构 1:MFC程序的初始化过程CWinApp::InitApplication()CMyWinApp::InitInstance()CMyFrameWnd::CMyFrameWnd()CFrameWnd::Create()CWnd:CreateEx()CFrameWnd::PreCreateWindow()CWinApp::Run()CWinThread::Run() 2:RTTI[CRuntimeClass]DECLARE_DYNAMICIMPLEMENT_DYNAMIC 3…
目录: 一.TFRecord输入数据格式 1.1 TFrecord格式介绍 1.2 TFRecord样例程序 二.图像数据处理 2.1TensorFlow图像处理函数 2.2图像预处理完整样例 三.多线程数据输入处理框架 3.1 队列与多线程 3.2输入文件队列 3.3组合训练数据(batching) 3.4输入数据处理框架  一.TFRecord输入数据格式 TensorFlow提供了一种统一的格式来存储数据,这个格式就是TFRecord 1.1 TFrecord格式介绍 TFRecord文件…
本章将会对MFC的消息映射和 命令传递机制做深入探讨. MFC规定了消息传递的路线,消息会按照这个路线传递下去,找不到归宿的话就交给DefWindowProc. 在产生窗口之前,如果我们在创建窗口时指定的窗口类为NULL时,MFC会自动注册五个默认的窗口类,每个窗口类有自己的窗口函数.不同窗口得到的消息应该交由不同的窗口函数来处理.所谓的命令传递机制是为了让消息的流动有线路可循,实现一个巨大的网,实现所有可能的路线.这就是所谓的消息映射图. WM_COMMAND是来自菜单或工具栏,被称为命令消息…
转自: OpenCV 教程 使用 图像金字塔 进行缩放 图像金字塔是视觉运用中广泛采用的一项技术.一个图像金字塔是一系列图像的集合 - 所有图像来源于同一张原始图像 - 通过梯次向下采样获得,直到达到某个终止条件才停止采样.有两种类型的图像金字塔常常出现在文献和应用中: 高斯金字塔(Gaussian pyramid): 用来向下采样 拉普拉斯金字塔(Laplacian pyramid): 用来从金字塔低层图像重建上层未采样图像 高斯金字塔 每一层都按从下到上的次序编号, 层级  (表示为  ,尺…