zyl910

优化技巧、硬件体系、图像处理、图形学、游戏编程、国际化与文本信息处理。

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

2006年5月22日

摘要: File: StudyRGB2Gray.txtName: 彩色转灰度算法彻底学习Author: zyl910Version: V1.0Updata: 2006-5-22一、基础 对于彩色转灰度,有一个很著名的心理学公式:Gray = R*0.299 + G*0.587 + B*0.114二、整数算法 而实际应用时,希望避免低速的浮点运算,所以需要整数算法。 注意到系数都是3位精度的没有,我们可以将它们缩放1000倍来实现整数运算算法:Gray = (R*299 + G*587 + B*114 + 500) / 1000 RGB一般是8位精度,现在缩放1000倍,所以上面的运算是32位整... 阅读全文
posted @ 2006-05-22 17:56 zyl910 阅读(1055) 评论(0) 推荐(1) 编辑

2003年8月18日

摘要: 一、为什么这么慢? 自盘古开天地以来(好像夸张了点),一直有人抱怨VB程序速度慢。特别是图像处理,被认为是VB的禁区。说起来也是,市面上的关于VB的图像处理的数据都是先讲计算公式,再直接用PSet(或API函数SetPixel)逐点画(至少我见过的书都是这样)。效果是办到了,但速度慢得离谱:对一幅640*480的图像进行半透明合并就需要10秒钟;而在PhotoShop中,只要一设置图层的透明度,半透明效果立即呈现。难怪有人说VB的闲话。 但这并不表示VB不能写高速的图像处理程序,速度慢是因为没有使用正确的方法。 从VB5开始,能以本机代码编译成exe文件,所以不存在代码执行速度的问题。那... 阅读全文
posted @ 2003-08-18 10:39 zyl910 阅读(1602) 评论(0) 推荐(0) 编辑

2002年12月6日

摘要: 关键在于对WM_ENTERIDLE消息的处理在菜单状态下移动鼠标会产生WM_ENTERIDLE消息这时用TempPoint、WindowFromPoint可以取得当前鼠标所指窗体的句柄再用GetClassName取得类名,与"#32768"(菜单窗体的类名)进行比较再等待1秒钟,用keybd_event发送VK_ESCAPE取消菜单状态但是还是有一个的缺点:无法在鼠标不移动的时候自动隐藏这时需要Timer控件的帮忙将下列文件粘贴到记事本,并保存为相应文件AutoHidePopupMenu.vbp======================================== 阅读全文
posted @ 2002-12-06 09:39 zyl910 阅读(416) 评论(0) 推荐(0) 编辑

2002年11月25日

摘要: 这是我在一些 数字图像与图形处理 方面的书上面看见的,书上说的比较零散,我稍微整理了一下实践已证明,插值算法对于缩放比例较小的情况是完全可以接受的,令人信服的。一般的,缩小0.5倍以上或放大3.0倍以下,对任何图像都是可以接受的。最邻近插值(近邻取样法): 最临近插值的的思想很简单。对于通过反向变换得到的的一个浮点坐标,对其进行简单的取整,得到一个整数型坐标,这个整数型坐标对应的像素值就是目的像素的像素值,也就是说,取浮点坐标最邻近的左上角点(对于DIB是右上角,因为它的扫描行是逆序存储的)对应的像素值。可见,最邻近插值简单且直观,但得到的图像质量不高双线性内插值: 对于一个目的像素,设置.. 阅读全文
posted @ 2002-11-25 09:31 zyl910 阅读(587) 评论(0) 推荐(0) 编辑