科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件VC DirectShow对视频进行图片处理之四

VC DirectShow对视频进行图片处理之四

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在我的程序中图像处理函数是作为 DirectShow 封装类一部分的,我认为这样便于移动和使用.

作者:longway 来源:天极开发 2007年10月16日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
9. 广阔的图像处理天地

  因为写程序的需要,也因为浓厚的兴趣,我在此段期间找了不少图像处理的资料,不过正如前面说过的,图像处理需要数学,大多资料都有一大堆公式,看不看得懂就得看您的造诣了。虽然我看不懂那些公式,但我也得到了很多有益的启示,它们是我从更多更新的角度去看待图像,改变了我的思维方式,例如图像是平面的,但可以把其RGB 分量看作是高度,使图形呈现"立体模式",从而可以对它应用立体几何的方法。

  看看我理解的线性放缩吧,这也是下面 D3D 应用的铺垫。

 

  如上图,很容易写出此直线段的方程 y = 2 * x (0<= x <= 10)。我不知道您是怎么理解此方程的,我自己认为以前一点也不理解"映射"这个概念,现在从线性放缩中明白到:x 被映射到 y 上,长度被拉长了 2 倍。这和单单知道方程是两回事,我认为这比原来理解要好。利用这个映射就可以把 11 个像素点(下标为 0 ~ 10)的图像放大为 21 个像素点大小,使用下面程序:

for(y = 0; y < 21; y ++){
x = y / 2;
newPicture[y] = oldPicture[x];
}

  就这样把图像的宽度扩大后再扩大高度就可完成整个图像的放大,缩小也一样,把直线段的斜率减小就行。直线段代表线性放大,那么抛物线等曲线呢,分段曲线呢?它们都可以实现放缩,因为都是 x 到 y 的映射,曲线代表的是映射规则。呵呵,都怪中学没学好!

  在实际放缩时不可能都除得整数,这时就有两种解决方法,一是插值,上面的右图就是线性插值的示意图,二是取整数部分,也就是最近点法,这两种方法的效果和运算量大家都明瞭,自不必我说。

  此放缩原理还可以应用于灰度拉伸等方面,对比度增减就是一个例子。

  现在摄像头热门的人脸跟踪也是应用图像处理的,其它高级的物体识别、运动分析等都是基于图像处理,其应用前景十分广阔,您足可投身畅游其中,只要您有足够的兴趣和知识。使用图像处理时您是否有这样一个想法:软件让硬件价值倍增!
 

查看本文源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章