zoukankan      html  css  js  c++  java
  • 图像的点运算

    1.线性点运算

    原始图像的灰度值我们可以使用f(x,y)来表示在(x,y)处的图像灰度值,我们经过点运算输出的图像灰度值则为:g(x,y).为了表示的方便,我们通常使用r来表示原始图像的灰度值,s用来表示处理后图像的灰度值。

    线性点运算的公式如下:s=ar+b,如下图所示:

     a和b取值的大小影响着我们输出灰度图像的性质,总结也在上图当中实现了。如果a为负值,那么图像当中的亮色区域将会变暗,暗色的区域将会变亮。

    2.分段线性点运算

    我们对自己感兴趣的区域分别进行相应的点运算,最后得到自己理想的效果,如下图所做的分段线性运算所示:

    分段函数描述如下:

    当然除了线性点运算,我们还有一种更加普遍的运算则是非线性点运算了,我们下面来看看

    3.非线性点运算

    一般常见的有对数变换,变换的公式为s=clog(1+r),其中的c仅仅是一个常数,变换后的图像如下:

    这个方法主要用于降低对比度,将低灰度的地方进行扩展,高灰度的地方进行压缩,这样就得到了最终图像输出的结果。

    2.幂次变换

    变换的公式和图像如下:

    但是很遗憾的是,我们的在opencv的开发当中一般不知道如何进行线性点运算,一般都是进行将整张图的灰度值增加多少或者减少多少的运算,而非线性或者非线性的运算,有点难堪,但是matlab实现起来却简单得多了。matlab的实现可以参考这篇博文:https://www.cnblogs.com/geeksongs/p/11037415.html

  • 相关阅读:
    java多线程小节, 总结的不错
    奇瑞风云, 你还在路上么
    android NDK 环境建立
    外企下岗白领正成为“新4050”
    搭积木
    祝MORIENTES在LIVERPOOL有所成就
    简单生活
    为什么要更新
    归去来
    随记一笔
  • 原文地址:https://www.cnblogs.com/geeksongs/p/11254806.html
Copyright © 2011-2022 走看看