2013年1月10日

摘要: 好久没做MFC的开发了,最近在研究openCV关于图像处理的东西。于是乎用MFC写了一个测试程序。写了一个CStaticPic继承自CStatic,来显示图片。问题出来了,我想在CSaticPic的成员函数里显示图片的时候自动判断图片大小,并调整显示控件的大小。于是乎调来调去,大约20分钟没出来结果。不得不把以前很熟的东西再到网上去查。一查便知,一个低级错误。把GetWindowRect与GetClientRect混了,转来转去的不成功。GetClientRect的CRect是相对它的窗口的客户区的原点而言的,即它的左上角坐标总是(0,0),大小总是客户区的长宽。GetWindowRect得到 阅读全文

posted @ 2013-01-10 13:26 我不是牛人 阅读(1176) 评论(0) 推荐(0) 编辑

2012年12月26日

摘要: 2012年12月8日,是我30岁的生日。如果有人问我,“你觉得30岁之前和之后最大的区别是什么?”,我会告诉他:“30岁以前,你可以懵懵懂 懂;30岁之后,你要形成自己的品牌。” 什么叫品牌?品牌就是你长久以来留给别人的印象;品牌就是别人听到你的名字后产生的第一画面;品牌就是你坐在那里,不露声色别人也知道你是什么样的人。那么怎样去树立自己的品牌?我思考了有下面几个方面:你的着装;你的爱好;你的言行举止和处事风格。先谈一下着装,30岁以前,你可以今天西装革履衣冠楚楚,明天真*斯班*路,后天****Hello Kitty。但是30岁以后你不应该继续这样做。如果你认为你的风格是严谨专注,你就天天穿西 阅读全文

posted @ 2012-12-26 14:09 我不是牛人 阅读(177) 评论(0) 推荐(0) 编辑

2012年12月14日

摘要: int* iNum[65535];int iPos = 0;void doWork(int iSum, int iNow){ int iStart = iNow; iNum[iPos ++] = &iStart; while(iSum - iStart > iStart) { doWork(iSum - iStart, iStart + 1); for (int i=0; i<iPos; i++) { printf("%d + ", *iNum[i]); } printf("%d\n", iSum - iStart); iStart 阅读全文

posted @ 2012-12-14 12:27 我不是牛人 阅读(493) 评论(0) 推荐(0) 编辑

摘要: public static void main(String[] args) { Do(3, 20); } /* * n,N项式 * m,M以内的加减法 */ public static void Do(int n, int m) { int num = 2*n-1; // 随机数与符号都是随机生成 HashMap<String, String> hs = new HashMap<String, String>(); while(true) { int[] arr=new int[num]; for (int i=0; i<num; i++){ if (i%... 阅读全文

posted @ 2012-12-14 12:16 我不是牛人 阅读(423) 评论(0) 推荐(0) 编辑

2012年11月13日

摘要: void CSetAddressDlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this); // device context for painting SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); // Center icon in client rectangle int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect; GetCl.. 阅读全文

posted @ 2012-11-13 17:07 我不是牛人 阅读(5010) 评论(0) 推荐(0) 编辑

2012年10月23日

摘要: ApproxChains 用多边形曲线逼近 Freeman 链 CvSeq* cvApproxChains( CvSeq* src_seq, CvMemStorage* storage, int method=CV_CHAIN_APPROX_SIMPLE, double parameter=0, int minimal_perimeter=0, int recursive=0 ); src_seq 涉及其它链的链指针 storage 存储多边形线段位置的缓存 method 逼近方法 (见函数cvFindContours的描述). parameter 方法参数(现在不用). mi... 阅读全文

posted @ 2012-10-23 16:32 我不是牛人 阅读(6810) 评论(0) 推荐(2) 编辑

2012年5月11日

摘要: 中值滤波 中值滤波法是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值. 实现方法: 1:通过从图像中的某个采样窗口取出奇数个数据进行排序 2:用排序后的中值取代要处理的数据即可 中值滤波法对消除椒盐噪音非常有效,在光学测量条纹图象的相位分析处理方法中有特殊作用,但在条纹中心分析方法中作用不大. 中值滤波在图像处理中,常用于用来保护边缘信息,是经典的平滑噪声的方法 中值滤波原理 中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,中值滤波的基本原理是 把数字图像或数字序列中一点的值用该点的一个邻域中... 阅读全文

posted @ 2012-05-11 09:57 我不是牛人 阅读(579) 评论(0) 推荐(1) 编辑

2012年5月2日

摘要: 上一篇的源码进行优化,将cosx运算提取出来,变成矩阵形式。#include"stdafx.h"#include<string.h>#include<iostream>#include<math.h>usingnamespacestd;#definePI3.1415926int_tmain(intargc,_TCHAR*argv[]){doubledInput[]={0.0,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0};intiFactor[]={1,1,1,1,0,0,0,0,0,0};doubledOut[ 阅读全文

posted @ 2012-05-02 10:36 我不是牛人 阅读(419) 评论(0) 推荐(0) 编辑

2012年4月29日

摘要: 研究目的:理解xCode源码。 DCT变换源自付立叶级数和付立叶变换,是高等数学下册的学习内容。可以这么理解,DCT变换是付立叶变换的一个特例。 任何一个“函数”都可以转换成付立叶级数。为什么要这样转换呢,主要是目前已经对付立叶级数的组成函数(sinx,cosx)研究的相当深入了,所以无论多么复杂的函数经过付立叶级数的转换成,可以轻松的分析它的很多特性。网上搜了很多的内容,大部分都写“DCT变换将时域信号转变为频域信号”,其实这样的说明主要指的是与时间相关的信号。例如:左图就是时域图,右图是频域图。时域图就是振幅随时间的变化关系,频域图是振幅随频率的变化关系。可以看出,频率在哪个范围内振幅比较 阅读全文

posted @ 2012-04-29 12:34 我不是牛人 阅读(2294) 评论(0) 推荐(0) 编辑

2012年4月25日

摘要: 媒体内容在播放时,最令人头痛的就是音视频不同步。从技术上来说,解决音视频同步问题的最佳方案就是时间戳:首先选择一个参考时钟(要求参考时钟上的 时间是线性递增的);生成数据流时依据参考时钟上的时间给每个数据块都打上时间戳(一般包括开始时间和结束时间);在播放时,读取数据块上的时间戳,同 时参考当前参考时钟上的时间来安排播放(如果数据块的开始时间大于当前参考时钟上的时间,则不急于播放该数据块,直到参考时钟达到数据块的开始时间;如 果数据块的开始时间小于当前参考时钟上的时间,则“尽快”播放这块数据或者索性将这块数据“丢弃”,以使播放进度追上参考时钟)。 可见,避免音视频不同步现象有两个关键—... 阅读全文

posted @ 2012-04-25 09:25 我不是牛人 阅读(1921) 评论(0) 推荐(0) 编辑