DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2013年9月17日

摘要: 在网上找了很久这方面的内容,发现网上的代码都太旧了,所使用的函数旧到连最新版本的ffmpeg都已经不包含了,所以对于我这个初学者来说太坑拉。不过经过多次查找ffmpeg的头文件和结合网上的内容,终于成功可以解码拉。现在贴出来。首先是初始化一些参数[cpp]view plaincopy //下面初始化h264解码库avcodec_init();av_register_all();AVFrame*pFrame_=NULL;AVCodecContext*codec_=avcodec_alloc_context();/*findthevideoencoder*/AVCodec*videoCodec=a 阅读全文
posted @ 2013-09-17 16:16 DoubleLi 阅读(40964) 评论(1) 推荐(2)

摘要: 呵呵,贴在这里记录一下。[cpp]view plaincopy #include#include#include#include#pragmapack(2)usingnamespacestd;//下面两个结构是位图的结构typedefstructBITMAPFILEHEADER{u_int16_tbfType;u_int32_tbfSize;u_int16_tbfReserved1;u_int16_tbfReserved2;u_int32_tbfOffBits;}BITMAPFILEHEADER;typedefstructBITMAPINFOHEADER{u_int32_tbiSize;u_i 阅读全文
posted @ 2013-09-17 16:15 DoubleLi 阅读(6490) 评论(0) 推荐(0)

摘要: 在网上搜了很久相关的问题,但是好像没有一个在linux下跑得比较完整的例子,不过经过自己一番搜索和总结,终于做出来了,哈哈,看下面的代码吧。这个例子可以保存成bmp或者jpeg格式的图片。下面的结构是保存bmp图片是用到的结构:[cpp]view plaincopy //把内存对齐定义为2个字节,//这个可以避免BITMAPFILEHEADER//出现4字节的对齐而使bmp位图的头出错#pragmapack(2)//下面两个结构是位图的结构typedefstructBITMAPFILEHEADER{u_int16_tbfType;u_int32_tbfSize;u_int16_tbfReser 阅读全文
posted @ 2013-09-17 16:12 DoubleLi 阅读(8807) 评论(0) 推荐(0)

摘要: 演示截图:代码简介或代码解析:如何用ATL创建ActiveX控件实现了一个ActiveX控件,它在一个圆内部有个正多边形,当用户在多变形内部单击将会使多边形的边数在当前的基础上+1,在多变形外部单击将会使多边形的边数在当前的基础上-1,并能改变多边形的颜色.最后举了两个例子说明了如何使用这个刚刚生产得控件.一个是把该控件应用到网页中,一个则是用于一个基于对话框的程序中.详细代码请下载压缩包.(一) 创建工程(1) 打开VC6集成开发环境,按新建按钮,选择PROJECT标签。(2) 选择ATL COM AppWizard。(3) 在右侧Project Name下面的空白处输入"Poly 阅读全文
posted @ 2013-09-17 16:09 DoubleLi 阅读(4457) 评论(0) 推荐(0)

摘要: 摘要:目前MFC和ATL代表了两种框架,分别面向不同类型的基于Windows的开发。MFC代表了创建独立的Windows应用的一种简单、一致的方法;ATL提供了一种框架来实现创建COM客户机和服务器所必须的样板文件代码。这两种框架在它们对于开发ActiveX的用途上会合了。我们将看看这两种框架是如何适用于创建ActiveX控件的——突出其优缺点,亲自经历创建一个控件的过程——以便你能够决定何时使用一种框架,何时使用另一种。 如果你希望用C++来写ActiveX®控件,有两个流行的框架,一个是Microsoft® Foundation Classes (MFC),另一个是AT 阅读全文
posted @ 2013-09-17 16:08 DoubleLi 阅读(884) 评论(0) 推荐(0)

摘要: 1.对OpenCV的印象:功能十分的强大,而且支持目前先进的图像处理技术,体系十分完善,操作手册很详细,手册首先给大家补计算机视觉的知识,几乎涵盖了近10年内的主流算法;然后将图像格式和矩阵运算,然后将各个算法的实现函数。我用它来做了一个Harris角点检测器和Canny边缘检测器,总共就花了一个小时(第一次用OpenCV)。而且该库显示图像极其方便,两句话就可以。但该库似乎不大稳定,对32F和16S、8U的图像数据支持上bug重重。我用cvFilter2D函数进行线性滤波,屡屡出错,后来一查原来是大bug。后来用cvmGet来取矩阵元素也是频繁出错,仔细检查了N遍确保程序没问题之后在yaho 阅读全文
posted @ 2013-09-17 16:02 DoubleLi 阅读(726) 评论(0) 推荐(0)

摘要: 您可以到http://www.ijg.org/网站下载libjpeg的源码, IJG JPEG Library就是jpeg压缩库,是以源码的形式提供给软件开发人员的,当然在软件包里也有编译好的库文件,我们这里就只用到其中的libjpeg.lib,jconfig.h,jmorecfg.h,jpeglib.h这几个文件,下面我就介绍一下怎样在自己的程序里嵌入图像压缩功能。 一、建立编译环境 所谓建立编译环境,其实非常简单,就是把上面提到的4个文件拷贝到你的项目文件夹下,把libjpeg.lib添加到你的项目中,然后在你完成压缩功能的那个文件里加入#include "jpeglib.h&q 阅读全文
posted @ 2013-09-17 15:45 DoubleLi 阅读(3288) 评论(0) 推荐(2)

摘要: 1、首先从此处下载源代码http://www.codeproject.com/KB/graphics/cximage.aspx2、然后将里面的工程全部编译一下,我觉得应该是生成对应的库。3、然后用vc建个工程,同时将源代码里面除了Demo这些文件夹,全部考到新建工程的同一目录。4、接下来就是最麻烦的配置了: |- C/C++| |- Code Generation| | |- Use run-time library : Multithreaded DLL (must be the same for| | | all the linked libraries) //应该只要是多线程DLL即可, 阅读全文
posted @ 2013-09-17 15:44 DoubleLi 阅读(609) 评论(0) 推荐(0)

摘要: 1.http://blog.csdn.net/huxiangyang4/archive/2010/07/12/5728888.aspx 我认为是最好的2.http://blog.csdn.net/axlrosek/archive/2007/03/29/1545496.aspx 当字典用3.http://topic.csdn.net/u/20100518/17/98f52459-3158-492a-b6df-b1863336c6bb.html 改jpeglib.h头文件版本4.http://blog.csdn.net/achellies/archive/2009/06/04/4238056.as 阅读全文
posted @ 2013-09-17 15:43 DoubleLi 阅读(448) 评论(0) 推荐(0)

摘要: 一、vc编译jpeglib库1、下载源代码下载地址:http://www.ijg.org/。注意:一定要下载win32版本2、编译源代码.A、解压源代码,修改源代码中jconfig.vc为jconfig.h;B、添加环境变量PATH,C:/Program Files/Microsoft Visual Studio/VC98/Bin;C、修改makefile.vc,将Pull in standard variable definitions下面的一行换为:!include ;D、进入命令提示环境下,输入:vcvars32回车,这是一个用来设置VC路径环境的批处理;E、编译生成库文件命令:nmak 阅读全文
posted @ 2013-09-17 15:42 DoubleLi 阅读(1300) 评论(0) 推荐(0)

摘要: 一、OpenGL简介 众所周知,OpenGL原先是Silicon Graphics Incorporated(SGI公司)在他们的图形工作站上开发高质量图像的接口。但最近几年它成为一个非常优秀的开放式三维图形接口。实际上它是图形软件和硬件的接口,它包括有120多个图形函数,"GL"是"GRAPHIC 阅读全文
posted @ 2013-09-17 15:33 DoubleLi 阅读(1298) 评论(0) 推荐(0)

摘要: 1.对OpenCV 的印象:功能十分的强大,而且支持目前先进的图像处理技术,体系十分完善,操作手册很详细,手册首先给大家补计算机视觉的知识,几乎涵盖了近10年内的主流算法;然后将图像格式和矩阵运算,然后将各个算法的实现函数。我用它来做了一个Harris角点检测器和Canny边缘检测器,总共就花了一个小时(第一次用OpenCV)。而且该库显示图像极其方便,两句话就可以。但该库似乎不大稳定,对32F和16S、8U的图像数据支持上bug重重。我用 cvFilter2D函数进行线性滤波,屡屡出错,后来一查原来是大bug。后来用cvmGet来取矩阵元素也是频繁出错,仔细检查了N遍确保程序没问题之后在ya 阅读全文
posted @ 2013-09-17 15:28 DoubleLi 阅读(7222) 评论(0) 推荐(0)

摘要: vs2008 + OpenCV-2.1.0-win32-vs2008安装1. 安装vs2008+sp12. 安装opencv-2.1.0-win32-vs2008,假设安装目录为c:/opencv2.1。安装过程中注意选择添加环境变量,把 “add it to your Current User PATH “前的复选框勾上 .3. 为vs2008配置openvc,过程如下: 工具->选项->项目和解决方案->vc++目录, “显示一下内容的目录”下拉列表中选择“包含文件”,添加条目“C:/OpenCV2.1/include/opencv”; “显示一下内容的目录”下拉列表中选 阅读全文
posted @ 2013-09-17 15:25 DoubleLi 阅读(514) 评论(0) 推荐(0)

摘要: 1、new 是c++中的操作符,malloc是c 中的一个函数2、new 不止是分配内存,而且会调用类的构造函数,同理delete会调用类的析构函数,而malloc则只分配内存,不会进行初始化类成员的工作,同样free也不会调用析构函数3、内存泄漏对于malloc或者new都可以检查出来的,区别在于new可以指明是那个文件的那一行,而malloc没有这些信息。4.new可以看成两个动作:1。分配内存(相当于malloc)2。引发构造函数。 new 是个操作符,和什么"+","-","="...有一样的地位. malloc是个分配内存的 阅读全文
posted @ 2013-09-17 11:26 DoubleLi 阅读(1409) 评论(0) 推荐(0)

摘要: 目前知道有两种方式:可以提供宽字符与ANSI字符之间的转换, 第一种由COM库提供的函数 char* _com_util::ConvertBSTRToString(BSTR ); BSTR _com_util::ConvertStringToBSTR(char*); Example // ConvertBSTRToString.cpp #include #include #pragma comment(lib, "comsupp.lib") int main() { BSTR bstrText = ::SysAllocString(L"Test"); w 阅读全文
posted @ 2013-09-17 09:29 DoubleLi 阅读(2637) 评论(0) 推荐(0)

摘要: 在C++中有两种类型可以用于表示字符,char和wchar_t。但是字符串格式的标准却有很多种,如ASCII,UTF8,UTF16,UTF32等等。字符串的格式和char/wchar_t 的关系是什么呢?首先要理解Unicode和UTF-8的关系,可以参考我转帖的文章:http://www.cnblogs.com/whyandinside/archive/2012/02/05/2338841.html额外还有几个问题需要解决:1. UCS-2、UCS-4、BMPUCS有两种格式:UCS-2和UCS-4。顾名思义,UCS-2就是用两个字节编码,UCS-4就是用4个字节(实际上只用了31位,最高位 阅读全文
posted @ 2013-09-17 09:19 DoubleLi 阅读(1184) 评论(0) 推荐(0)

摘要: 转自:http://apps.hi.baidu.com/share/detail/17798660字符编码是计算机技术的基石,想要熟练使用计算机,就必须懂得字符编码的知识。不注意的人可能对这个不在意,但这些名词有时候实在让人迷惑,对想学习计算机知识的人来说,搞懂它也十分重要,我也是在学习中慢慢了解了一些这方面的知识。1. ASCII码 在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符 阅读全文
posted @ 2013-09-17 09:16 DoubleLi 阅读(835) 评论(0) 推荐(0)