Xiangism

从一个无知角落里开始,蹒跚学步,一个未知到另一个未知,在跌跌撞撞中越走越快,越走越远,最后宇宙也为之开源。对于探索者来说,最后他们的思想总是变得和自己的足迹一样伟大。
  博客园  :: 首页  :: 联系 :: 管理

2012年11月5日

摘要: 用CxImage::Draw可以方便地在windows窗体上画图,其函数原型如下:void Draw(HDC hdc, long x=0, long y=0, long cx = -1, long cy = -1, RECT* pClipRect = 0, bool bSmooth = false)... 阅读全文

posted @ 2012-11-05 19:31 Xiangism 阅读(3440) 评论(10) 推荐(0) 编辑

2012年10月30日

摘要: 在研究扫雷概率时,发现了这个数学题,觉得有点意思,于是贴出来 :有3个苹果(123)和3个框(abc),要将苹果全部放到框里去。一个框中可以不放苹果,也可以放3个苹果,但3个苹果得全部都放在框里。问总共有几种放法。注意:苹果看成相同的,框看成不一样的。(即如果12苹果放在a中,3苹果放在b中和13苹果放在a中,2苹果放在b中,看成是一种情况)。不能用穷举,只能列出数学表达式。N个苹果放到N个框中呢?现在我只会在程序中用算法列举出来,而不会用数学列出计算式子(大概是因为离高中太遥远的原因吧)。由于这个列举会用在计算扫雷的概率中,故想先在数学上计算其大小,看其复杂度会不会过大~~现在提供列举所有情 阅读全文

posted @ 2012-10-30 19:37 Xiangism 阅读(655) 评论(0) 推荐(0) 编辑

2012年10月28日

摘要: 要实现一个自动完成windowsXP扫雷游戏(winmine,XP下用这个命令可启动游戏)的程序,需要实现下面三大点:获取游戏数据,即分析游戏在类型(初级、中级还是高级),每个块是否揭开,如何揭开了上面的数字是多少。分析数据,即要从上面所得的数据,分析出哪些块是雷,哪些不是雷,哪些还不能确定。从第二... 阅读全文

posted @ 2012-10-28 11:24 Xiangism 阅读(3583) 评论(2) 推荐(3) 编辑

2012年10月27日

摘要: 几年前用C#就做过XP系统下的扫雷游戏的外挂,当时能力有限,程序的框架不够好,功能也不够完善。现在用C++写了一个win32的自动扫雷程序mineTerminator(扫雷终结者),现将其整理成博文。将分为如下几篇解说:自动扫雷——游戏框架自动扫雷——确定情况的分析自动扫雷——概率分析之数学实现自动... 阅读全文

posted @ 2012-10-27 19:14 Xiangism 阅读(5200) 评论(8) 推荐(3) 编辑

摘要: 回想起四年前,自己大二刚开始学C#时,发现Bitmap类中有GetPixel方法的时候一阵狂喜。因为那时我玩过一款QQ游戏——大家来找茬,这个游戏是从画幅图中找出不一样的地方。如果可以获取到图片的每个像素值,只要发现其像素值不一样,即可判断图的这个地方不一样了(当然,这得假设腾讯没有对图片进行一些小... 阅读全文

posted @ 2012-10-27 13:56 Xiangism 阅读(686) 评论(3) 推荐(2) 编辑

2012年10月26日

摘要: 今天在VS2008中发现了超级令人抓狂的问题,经试验发现在VS2010中有同样的问题存在。重现问题——在VS2008中新建C++的“win32控制台应用程序”项目,并添加对MFC类库的引用。在_tmain函数前加上如图所示的注释,然后在主函数中随便写上几句代码,并设置断点,整个代码如图。最后在debug模式下,按F5运行,结果,程度在第二个断点处没有停住,而是直接运行过去!!经过反复的试验——包括删除ncb文件,重启VS,重启电脑……忽然想到《Exceptional C++ Style》中有提到注释可能对代码产生影响,比如 “//?” 会被转换成 “\”,结果使第二行代码失效了!!难道这里也是 阅读全文

posted @ 2012-10-26 13:07 Xiangism 阅读(4333) 评论(16) 推荐(9) 编辑

摘要: 本人在工作上使用C/C++一年多的时间了,对C++的内存泄漏有着一些自己的见解。在MFC debug模式下,如果用new申请出来的内存没有释放,最后VS在“输出”窗口中会提示有内存泄漏,并且会告诉内存泄漏的地址和大小。如果在单个的EXE文件可以用鼠标点击这个信息直接定位到引起内存泄漏的变量上;而如果是调用的DLL中出现了内存泄漏则无法用这种方式定位错误代码。这里介绍一种方式:在内存泄漏的提示信息中会给出其地址,而第二次运行程序时,一般来说变量的地址不会改变,所有这时,可以设断点,察看哪个变量的地址与提示信息中的一样,即可找出内存泄漏。而防止因new引起的内存泄漏的最好方式,是用boost的sh 阅读全文

posted @ 2012-10-26 12:55 Xiangism 阅读(352) 评论(0) 推荐(0) 编辑

摘要: 最近,开始学习openCV,准备用openCV来加强自己对图像处理和算法的理解与应用。下面是自己最近学习cvKMeans2时的一点经验——在《opencv基础》与《学习opencv》中介绍cvKMeans2时,都只说samples输入样例的浮点矩阵,每个样例一行。而在实际运用时,很多情况都是在运行时... 阅读全文

posted @ 2012-10-26 12:31 Xiangism 阅读(1655) 评论(0) 推荐(0) 编辑

2012年10月16日

摘要: 现在在改一个别人的项目,用CxImage读取图片后,需要转化为原始的BYTE*数据,以便加快处理速度。于是用到了CxImage类的GetBits方法,但在其在线文档中一查,吓了一跳——文档的内容只有一句话“pointer to the image pixels.USE CAREFULLY” 。小心使... 阅读全文

posted @ 2012-10-16 11:35 Xiangism 阅读(3245) 评论(2) 推荐(0) 编辑

2012年8月31日

摘要: 由于本人前段时间一直在进行图像处理的研究,大家都知道图像是二维的,故在程序中经常会有二维数组的使用,而在C++中是用二维指针T** value来表示二维数组。如果直接使用T** value就会在程序中经常出现二重for循环分配内存、二重for循环释放内存的代码——非常的无趣,非常的容易出错。(C++ 阅读全文

posted @ 2012-08-31 11:31 Xiangism 阅读(2261) 评论(4) 推荐(1) 编辑