上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 61 下一页
  2012年2月21日
摘要: /************************************** Progressive YV12 -> YUY2 conversion** (c) 2003, Klaus Post.** Requires mod 8 rowsize.* MMX version.*************************************/void mmx_yv12_to_yuy2(const BYTE* srcY, const BYTE* srcU, const BYTE* srcV, int src_rowsize, int src_pitch, int src_pitc 阅读全文
posted @ 2012-02-21 11:36 carekee 阅读(603) 评论(0) 推荐(0) 编辑
  2012年2月20日
摘要: YV12字节排列方式如下:<–width–>YYYY…YYYY ^Y Y |. . height. . |YYYY…YYYY V<-width/2->VV…VV ^. . |VV…VV heightUU…UU |. . |UU…UU VRGB24的字节排列方式如下:<—width*3—>BGRBGR…BGRBGR ^. . |. . height. . |BGRBGR…BGRBGR V详细的像素点布局和字节流排列方式可以参考微软网站。转换公式我们采用下面的形式:R = Y + 1.402 ( Cr - 128 ) G = Y - 0.34414 ( Cb - 阅读全文
posted @ 2012-02-20 15:56 carekee 阅读(1980) 评论(0) 推荐(0) 编辑
  2012年2月15日
摘要: After a long discussion with some of my RISC colleagues about what the 5 most important algorithms on the world are, we couldn't reach a consensus on this question. So I suggested to perform a little survey. The criterion for suggestions was that these algorithms should be widely used. Further w 阅读全文
posted @ 2012-02-15 14:13 carekee 阅读(840) 评论(0) 推荐(0) 编辑
摘要: 下面这段程序是一个C语言的小技巧,其展示了如何把一个参数为结构体的函数转成一个可变参数的函数,其中用到了宏和内建宏“__VA_ARGS__”,下面这段程序可以在GCC下正常编译通过:1234567891011121314151617181920#include <stdio.h>#define func(...) myfunc((struct mystru){__VA_ARGS__})struct mystru { const char *name; int number; };void myfunc(struct mystru ms ){printf("%s: %d/n 阅读全文
posted @ 2012-02-15 14:04 carekee 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 前言C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数的使用方法,我在这里不做过多的阐述。大家可以看看相关的C++的书籍。在这篇文章中,我只想从虚函数的实现机制上面为大家 一个清晰的剖析。当然,相同的文章在网上也出现过一些了,但我总感觉这些文章不是很容易阅读,大段大段的代码,没有图片 阅读全文
posted @ 2012-02-15 14:03 carekee 阅读(403) 评论(0) 推荐(0) 编辑
摘要: 1.使用C中的局部变量和全局变量。?[Copy to clipboard]View Code CPP 12345678910 int a = 5,b=6,c; __asm { xor edx,edx ;edx=0 add edx,a ;edx +=a add edx,b ;edx +=b add edx,g_nC;使用全局变量 mov c,edx ;c=edx } printf("UseParameter : %d\n",c);2.调用C中函数,stdcall方式和cdecl方式,pascal方式在控制台下没整出来,Delphi也不会就算了,和stdcall差不多,就是入栈 阅读全文
posted @ 2012-02-15 11:20 carekee 阅读(541) 评论(0) 推荐(0) 编辑
  2012年2月14日
摘要: 一、字符串的创建创建一个字符串有几种方法。最简单的是用引号将一组字符包含起来,可以将其赋值给一个字符串变量。var myStr = "Hello, String!";可以用双引号或单引号将字符串包含,但要注意,作为界定字符串的一对引号必须是相同的,不能混用。像var myString = "Fluffy is a pretty cat.'; 这样的声明就是非法的。允许使用两种引号,使得某些操作变得简单,比如将一种嵌入另外一种:document.write("<img src="/img/logo.jpg" height= 阅读全文
posted @ 2012-02-14 11:42 carekee 阅读(482) 评论(0) 推荐(0) 编辑
摘要: 如题,这是一个简单的 CSS + DIV + JavaScript 实现的文字色彩渐变效果。点击查看:Demo | 右键另存下载, 或拷贝以下代码下面是 CSS 部分代码:<!--CSS代码开始-->body{ font:12px/1.5 Microsoft Yahei;}h3{ padding:10px; margin:0; background-color:#999; color:#fff; font:16px/1.5 Microsoft Yahei; text-align:center;}.box{ position:relative; background-color:#f 阅读全文
posted @ 2012-02-14 11:03 carekee 阅读(734) 评论(0) 推荐(0) 编辑
  2012年2月13日
摘要: 在OpenCV中用canny算子进行边缘检测速度很快,不过有点不爽的就是高低阈值需要输入。在matlab中,如果不指定阈值的话,由函数自适应确定,因此仿照matlab中的做法,对canny函数进行了修改,以便当用户没有指定高低阈值时,由函数自适应确定阈值。 我在OpenCv原码库中增加了一个函数,用于确定高低阈值。// 仿照matlab,自适应求高低两个门限CV_IMPL void AdaptiveFindThreshold(CvMat *dx, CvMat *dy, double *low, double *high){CvSize size;IplImage *imge=0;int i,. 阅读全文
posted @ 2012-02-13 15:33 carekee 阅读(600) 评论(0) 推荐(0) 编辑
  2012年2月11日
摘要: 最近一直在做Windows Mobile的开发,需要用到从摄像头读取图像,并能够处理每一帧。 但遇到这样一个问题,从摄像头读取的图像原始格式为YV12,要实现预览必须转化为RGB24。Dshow中有一些filter应该也能完成,但自己对Dshow了解不多,偷偷懒,找找其他办法:-) 在http://seac.blogchina.com/seac/583337.html上找到一篇关于YV12转RGB24的文章,采用的是完全查表法,把它封装到Native DLL中,每获取到一帧后,P/invoke这个方法进行转化。但有这样几个问题:1,频繁的P/Invoke是项耗时的操作;2,图像反转;3,经转化 阅读全文
posted @ 2012-02-11 16:28 carekee 阅读(1245) 评论(0) 推荐(0) 编辑
摘要: void yv12_to_rgb565_c2(int32_t*t_ptr,uint8_t*x_ptr,uint8_t*y_ptr) { intx,y; uint8_t*u_ptr=y_ptr+176672; uint8_t*v_ptr=u_ptr+49984; for(y=0;y<288;y+=2) { intr[2],g[2],b[2]; r[0]=r[1]=g[0]=g[1]=b[0]=b[1]=0; for(x=0;x<352;x+=2) { intrgb_y; intb_u0=B_U_tab[u_ptr[0]]; intg_uv0=G_U_tab[u_ptr[0]]+G_V 阅读全文
posted @ 2012-02-11 16:22 carekee 阅读(670) 评论(0) 推荐(0) 编辑
摘要: //最直接的(没有任何优化,直接按公式转换!)把RGB24转成YV12的算法//参数:宽(w)和高(h)必须是4对齐的!不然会有错误!//输出结果YV12格式://y01y02y03y04--------//------------//------------//------------//------------//------------//------------//------------//v01v02----------//------------//u01u02----------//------------typedefstructtagRGB24{unsignedcharb; 阅读全文
posted @ 2012-02-11 16:21 carekee 阅读(596) 评论(0) 推荐(0) 编辑
摘要: 前段时间,公司有个嵌入式的项目,我做的其中有一项是yuv视频到rgb888图像的转换。我主要是参照一位牛人的博客做的:http://blog.csdn.net/housisong/archive/2007/10/31/1859084.aspx YUV422p To RGB888 C语言版本接口说明:[cpp:showcolumns] view plaincopyprint?·········10········20· 阅读全文
posted @ 2012-02-11 16:18 carekee 阅读(5328) 评论(0) 推荐(0) 编辑
  2012年2月9日
摘要: stdafx.h的作用Standard Application Fram Extend没有函数库,只是定义了一些环境参数,使得编译出来的程序能在32位的操作系统环境下运行。Windows和MFC的include文件都非常大,即使有一个快速的处理程序,编译程序也要花费相当长的时间来完成工作。由于每个.CPP文件都包含相同的include文件,为每个.CPP文件都重复处理这些文件就显得很傻了。为避免这种浪费,AppWizard和VisualC++编译程序一起进行工作,如下所示:◎AppWizard建立了文件stdafx.h,该文件包含了所有当前工程文件需要的MFC include文件。且这一文件可 阅读全文
posted @ 2012-02-09 15:47 carekee 阅读(1034) 评论(0) 推荐(0) 编辑
  2012年2月8日
摘要: 下载源代码(C)CopyRight, 2003-2004, IRS, All Rights Reserved 目前这方面的小软件很多,我一直就想做这么一个东东,但是一直苦于时间有限,一直都没有做。最近一段时间,我发现这些方面的东西越来越多,而且都没有源代码,一些家伙在网站上给出这样那样的示例,其实都是在为自己的产品做广告,实在有违开源的思想。 最近终于有了一段假期,反正没什么事做就来试试,经过一段时间的学习和摸索,终于实现了一段简单的程序。现在我就给出一个简单的例子和解释,让大家明白这是一个怎么回事,教你如何利用这个技术给一个按钮换肤? 以前我们一直利用重载一个类的办法来实现丰富多彩的个性化控 阅读全文
posted @ 2012-02-08 15:09 carekee 阅读(480) 评论(0) 推荐(0) 编辑
  2012年2月1日
摘要: CFont* pFont = pDC->GetCurrentFont(); LOGFONT logFont ; pFont->GetLogFont(&logFont); logFont.lfEscapement = 900 ;//900/10 = 90 HFONT hFont = CreateFontIndirect(&logFont); pDC->SelectObject(hFont); pDC->TextOut(200,200,"VC中如何把一串文字旋转90度显示的?"); 阅读全文
posted @ 2012-02-01 15:14 carekee 阅读(683) 评论(0) 推荐(0) 编辑
摘要: 一、投影文字 private void Form1_Paint(object sender, PaintEventArgs e) { //投影文字 Graphics g = this.CreateGraphics(); //设置文本输出质量 g.TextRenderingHint = TextRenderingHint.ClearTypeGridFit; g.SmoothingMode = SmoothingMode.AntiAlias; Fon... 阅读全文
posted @ 2012-02-01 15:09 carekee 阅读(1129) 评论(0) 推荐(0) 编辑
摘要: 一、DLL的导出方法1、使用_declspec(dllexport) 方法 DLL里全是C++的类的话,你无法在DEF里指定导出的函数,只能用__declspec(dllexport)导出类。extern "C" _declspec(dllexport) int sum(int a,int b);//本文所有的例子只有一个sum即加法函数。 在制作DLL导出函数时由于C++存在函数重载,因此__declspec(dllexport) function(int,int) 在DLL会被decorate,例如被decorate成为 function_int_int,而且不同的编译 阅读全文
posted @ 2012-02-01 15:04 carekee 阅读(698) 评论(0) 推荐(0) 编辑
摘要: HWND pWnd = FindWindow(NULL,"另存为"); //获得窗口的句柄void saveopen(HWND pWnd){HWND m_hWnd=pWnd;HWND hWndChild =::GetWindow(m_hWnd,GW_CHILD); TCHAR BUF[512];CString filename;CWnd *pedit;while(hWndChild) { char *buf=new char[512];::GetClassName(hWndChild,buf,512);//得到枚举的控件是什么类型的,CString str=buf; str 阅读全文
posted @ 2012-02-01 15:03 carekee 阅读(2096) 评论(0) 推荐(0) 编辑
摘要: 学习MFC过程中从书中提炼出来的表格,方便使用。设备描述表属性、GDI画笔和CPen类、GDI画刷和CBrush类、主要的GDI颜色、CDC文本函数、GDI文本对齐方式、常用设备对象。设备描述表属性当使用CDC输出函数在屏幕画图时,输出的某些特性并没有在函数调用过程中规定,但可以通过设备描述表自身获得。如果想忽略背景颜色,可将背景模式设置为“transparent”。Attribute Default Set with Get with文本颜色 Black CDC::SetTextColor CDC::GetTextColor背景颜色 White CDC::SetBkColor ... 阅读全文
posted @ 2012-02-01 15:02 carekee 阅读(1398) 评论(0) 推荐(0) 编辑
上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 61 下一页