自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(78)
  • 资源 (1)
  • 收藏
  • 关注

转载 MFC 学习之 按钮重绘

代码如下:添加 ON_WM_DRAWITEM()  消息映射 afx_msg void OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct);  函数实现如下:void CBtnDrawDlg::OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct){ //

2015-01-30 15:34:53 959

原创 MFC 学习之 对话框添加菜单详细步骤

对话框看着就是一个光秃秃的面板,有时候因为一些需要,给他添加菜单。具体流程如下:环境:6.01、建立 MFC 对话框2、资源栏添加菜单单菜单,不关联对话框按钮3、为第一项设置 ID 4、对话框关联菜单5、添加菜单响应命令6、响应函数实现。void CMENU1Dlg::OnAbout()

2015-01-29 10:16:35 2602

原创 FFmpeg 学习之 定时器解码两路视频并进行对比<2>

前面写过一篇关于视频对比的文章,后来又做了一些修缮,用代码实现了一遍。//定时器,解码void Cvideo4Dlg::OnTimer(UINT nIDEvent){ //输出视频解码 WaitForSingleObject(AfxBeginThread(Decode_out_Thread, this), INFINITE); //输入视频解码 WaitForSingleObjec

2015-01-23 17:23:15 1164

原创 视频学习笔记之 MediaInfo

解码一直用的 FFmpeg,最近想在解码之前读取帧数,发现FFmpeg只能采用遍历的方式获得帧数。网上查了一下,MediaInfo 貌似是一款不错的库。下载 MediaInfo 库文件,解压得到 MediaInfoDLL.h  头文件和 MediaInfo.dll文件。开始编译出现错误,换了一个别人用的 MediaInfo.dll ,正常运行,不明所以。估计是 dll 编译生成的问

2015-01-22 16:30:31 1531

转载 二逼程序员与苦逼程序员

英文原文:the-day-programmer-vs-the-night-programmer  这篇文章是根据我去年的一封 Email 修改而来的。我把它贴出来是想看看我的想法是否正确。  经过多年的观察,我发现世界上的程序员可以分为两种,不论他们使用何种技术:  1. 二逼程序员(Day Programmers)  2. 苦逼程序员(Night Programmers)

2015-01-22 10:11:50 692

原创 C/C++ 学习之 PDF 格式输出

PDF 是一种比较常见的且相对于 office 稳定的格式。在 C/C++ 语言中,最容易操作的就是 txt 了,随便读写。但 PDF 格式太麻烦了,按照 读 txt 的方式,只能获得乱码,写入就更不用想了。最近遇到这个问题,让 结果 PDF 输出,查了一下,选择了 pdflib。试用版,不得不说很操蛋,背景图标,将就下吧。下载地址:http://download.csdn.n

2015-01-16 16:50:45 8280

原创 MFC 学习之 文件的建立与删除

关于删除,在网上看到一段很经典的代码1、删除文件夹:void DeleteDirectory(CString strDir){ if(strDir.IsEmpty()) { RemoveDirectory(strDir); return; } //首先删除文件及子文件夹 CFileFind ff; BOOL bFound = ff.FindFile

2015-01-08 16:22:02 4594

原创 opencv 学习之 阈值化<2> 自适应阈值

自适应阈值化函数:void cvAdaptiveThreshold(const CvArr* src,CvArr* dst,double max_value,int adaptive_method=CV_ADAPTIVE_THRESH_MEAN_C,int threshold_type=CV_THRESH_BINARY,int block_size=3,doub

2015-01-07 16:46:52 937

原创 opencv 学习之 阈值化<1> 单一阈值

先介绍几个函数。1、图像融合void cvAddWeighted( const CvArr* src1, double alpha,const CvArr* src2, double beta,double gamma, CvArr* dst );src1 :第一个原数组. alpha :第一个数组元素的权值 src2 :第二个原数组 beta :第二个数组元素的权值

2015-01-07 15:30:34 764

原创 FFmpeg 学习之 定时器解码两路视频并进行对比

两路视频跳帧的一些想法:关于多路视频,如果不涉及对比的话,多线程是最佳选择,来一路视频的话,直接开一个线程去显示处理,非常有效,方便。但如果说要求两路视频的图像的相似度,那么便牵扯到解码同步问题,如果说一路是本地视频文件,一路是网络视频流,那么很可能由于其帧型的不同,导致解码效率不同,相同序号的帧出现在两个时刻。感觉对比的话,应该是在线程里,当然,鉴于计算量比较大,比较的时候可以再开线程,

2015-01-06 14:46:52 2124

原创 <C/C++ 版> 设计模式 学习之 策略模式+工厂模式

策略模式是一种定义一系列算法的方法,从概念上来讲,所有这些算法完成的都是相同的工作,只是实现不同,它可以以相同的方法调用所有的算法,减少各种算法类与使用算法类之间的耦合。策略模式的 strategy (COperate)类层为 context 定义了一些了可供重用的算法或者行为,继承有助于析取这些算法中的公公功能。策略模式简化了单元测试,因为每个算法都有自己的类,可以通过自己的接口单独测试

2015-01-04 16:37:59 1169

原创 <C/C++ 版> 设计模式 学习之 策略模式

策略模式(strategy):它定义了算法家族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化,不会影响到使用算法的用户。在下面的情况下应当考虑使用策略模式:1. 如果在一个系统里面有许多类,它们之间的区别仅在于它们的行为,那么使用策略模式可以动态地让一个对象在许多行为中选择一种行为。2. 一个系统需要动态地在几种算法中选择一种。那么这些算法可以包装到一个个的具体算法类里面,

2015-01-04 15:46:24 745

原创 <C/C++ 版> 设计模式 学习之 工厂模式 <2>

下面代码实现的功能是简单工厂模式:声明一个工厂类,其成员可以看做该工厂的主要产品类型。再声明几个子工厂类,根据客户要求生产不同类型的产品。若要增加新产品,只需声明新的工厂子类即可。代码如下://Factory.h#ifndef FACTORY_H#define FACTORY_H//计算类class COperate{public: COperate(void

2015-01-04 10:55:01 748

转载 多线程 学习笔记<4> 进程与线程的区别联系

原文地址:http://289972458.iteye.com/blog/1325189一。什么是进程       进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。       线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。      系统资源:线程自己基本上不

2014-12-31 10:26:00 624

原创 <C/C++ 版> 设计模式 学习之 工厂模式 <1>

大话设计模式这本书使用 C# 语言写的,我用的是 C++ 语言,最近在看这本书,所以用 C++ 语言走了一遍。以下是部分笔记,包括代码若不涉及面向对象这个概念,我们写的简易计算器可能是下面这个样子//User.cpp --- 客户端#include "iostream"int main(){ using namespace std; cout<<"Input First

2014-12-30 17:51:32 725

转载 MFC访问对话框控件的几种方式

例:1、通过对话框访问[cpp] view plaincopyprint?/*******************************************/      int num1,num2,num3;      CString str1,str2,str3;        GetDlgItem

2014-12-29 08:36:31 828

转载 ffmpeg 的 tbr tbc 和 tbn的意义

tbn = the time base in AVStream that has come from the containertbc = the time base in AVCodecContext for the codec used for a particular streamtbr = tbr is guessed from the video stream a

2014-12-25 16:39:04 1260

原创 MFC 学习之 多对话框及列表控件

MFC 在界面这块,不得不说比较难看,虽然如此,但是它的简洁性(当然,不是说它的代码,而是相对于程序员,减少了自己敲写代码的工作量)。下面的例子是新建对话框,在新的对话框里添加列表控件,在列表控件里显示必要信息。效果如图:新建 MFC 工程,命名为 Draw,添加对话框,新建类 MyPanel//CDrawDlg.hpublic: afx_msg void O

2014-12-18 16:44:14 1577

原创 C/C++ 学习之 定时器

下面是两个简单的例子,说明在  windows  控制台应用程序中定时器的用法1、直接声明回调函数,然后在回调函数中处理消息。// programe for timer#include "stdio.h"#include "conio.h"#include int count = 0;void CALLBACK TimerProc (HWND hwnd, UINT mess

2014-12-08 16:56:33 4065

原创 FFmpeg 学习之 解码并 MFC+OpenCV 显示

众所周知,Opencv 在图像处理方面具有无与伦比的优势,但其在视频解码这块实在不敢恭维,智能识别 AVI 封装和少数几种 编码格式。其实 OpenCV 解码也是引用的 FFmpeg,不过编译时估计做了限制。下面的代码实现的功能是,,FFmpeg 解码视频,然后将每一帧转换为 OpenCV 可以识别的图像格式,在 MFC 图片空间中显示。配置:VS2008,OpenCV2.4.4,FF

2014-12-05 13:27:33 2334

原创 MFC 学习之 对话框作图<1>

1、作图实现在按钮消息响应函数中,而不是绘图函数 OnPaint 或者 OnDraw 中。不会刷新,适合读取本地文件数据并显示。// 定义的几种画笔 CPen pen[5]; pen[0].CreatePen(PS_SOLID,3,RGB(255,0,0));//创建实线画笔 pen[1].CreatePen(PS_DASH,1,RGB(0,255,0));//创建

2014-12-04 11:05:12 1142

原创 MFC 学习之 界面美化<2>

1、更改图标将ICON图标复制到资源文件中,载入工程,设置ID。在对话框构造函数中,修改ICON的ID。//ICONCMFC_FRAMEDlg::CMFC_FRAMEDlg(CWnd* pParent /*=NULL*/) : CDialog(CMFC_FRAMEDlg::IDD, pParent){ m_hIcon = AfxGetApp()->LoadIcon(IDI_M

2014-12-04 09:43:52 1108

原创 Socket 学习之 MFC:简单通信

最终界面如图所示:客户端代码如下:// ClientDlg.h : 头文件//#pragma onceUINT Recv_Th(LPVOID p);// CClientDlg 对话框class CClientDlg : public CDialog{// 构造public: CClientDlg(CWnd* pParent = NULL); // 标准构造函数

2014-12-02 16:31:56 10779 6

原创 C/C++ 学习之 文件操作

1、在当前界面打开一个文本文档// open txt#include "stdio.h"#include "stdlib.h"int main(){ system("start d:\\psnr.txt"); return 0;}2、MFC对话框中打开一个文本文档void CmfcopentxtDlg::OnBnClickedBopen(){ // TODO:

2014-12-02 16:18:43 844

原创 Socket 学习之 WIN32-API(1):简单通信

客户端程序如下://Client.cpp#include #include #include #include #pragma comment(lib,"ws2_32.lib")int main(void){ WSADATA wsa; /*struct WSAData { WORD wVersion; WORD wHighVersion; char s

2014-12-01 15:26:24 2359

原创 MFC 学习之 界面美化<1>

以下方法,实际是界面美化。

2014-11-24 21:51:38 1152

原创 C/C++ 学习之 sizeof & strlen

1、声明size_t   strlen(char  *  str);    //size_t  实际也就是 int 型sizeof()  为一个操作符,

2014-11-13 22:40:56 545

原创 MFC 学习之 颜色设置<1>

// 设置背景色

2014-11-04 12:57:57 815

原创 MFC 学习之 图片控件坐标图

新建 MFC 项目,图片控件 ID

2014-11-03 15:47:43 962

原创 opencv 学习之 视频存储

由于 opencv 侧重于图像的处理,故其编解码能力一般。只能识别 AVI

2014-10-24 17:06:48 768

原创 opencv 学习之 图片存储、复制、格式转换

一些小技巧:存储:

2014-10-24 16:51:06 626

原创 opencv 学习之 图片内存

1、直接赋值的话,两张图片共享内存

2014-10-24 14:18:37 777

原创 多线程 学习笔记<3> WIN32应用程序,多参数

代码如下:

2014-10-24 12:55:46 634

原创 多线程 学习笔记<2> API 与 MFC 下的一些区别

MFC 下比较简单:

2014-10-24 12:40:28 559

原创 opencv 学习之 PSNR

照例,先看代码:

2014-09-16 17:53:47 1554

原创 opencv 学习之 编解码方式读取

先看一段代码:

2014-09-16 17:40:31 1367

原创 多线程 学习笔记<1> 线程建立

先看下面一个例子

2014-08-16 17:12:49 526

原创 opencv 学习之 视频读取

介绍两种方法。一种是以C

2014-08-15 15:03:10 695

SOCKET + MFC 双向通信 UDP + TCP 版本

MFC SOCKET 双向通信,包括基于 UDP 协议的客户端/服务器端,基于 TCP 协议的客户端/服务器端

2019-03-17

空空如也

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

TA关注的人

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