zoukankan      html  css  js  c++  java
  • cvThreshold二值化函数

    1.图像二值化:

    就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果。所有灰度大于或等于阈值的像素被判定为属于特定物体,其灰度值为255表示,否则这些像素点被排除在物体区域以外,灰度值为0,表示背景或者例外的物体区域。

    2.cvThreshold函数
    函数cvThreshold对单通道数组应用固定阈值操作。该函数的典型应用是对灰度图像进行阈值操作得到二值图像(cvCmpS也可以达到此目的) 或者是去掉噪声,例如过滤很小或很大像素值的图像点。本函数支持的对图像取阈值的方法由threshold_type 确定。

    形式:
    void cvThreshold
    ( const CvArr* src,CvArr* dst,double threshold,double max_value, int threshold_type );

    src: 原始数组 (单通道 , 8-bit of 32-bit 浮点数)。
    dst: 输出数组,必须与 src 的类型一致,或者为 8-bit。
    threshold: 阈值
    max_value: 使用 CV_THRESH_BINARY 和 CV_THRESH_BINARY_INV 的最大值。
    threshold_type: 

    CV_THRESH_BINARY   dst(x,y) = max_value, if src(x,y)>threshold 0, otherwise.//

    CV_THRESH_BINARY_INV   dst(x,y) = 0, if src(x,y)>threshold; dst(x,y) = max_value, otherwise.

    CV_THRESH_TRUNC   dst(x,y) = threshold, if src(x,y)>threshold;   dst(x,y) = src(x,y), otherwise.

    CV_THRESH_TOZERO   dst(x,y) = src(x,y), if (x,y)>threshold ;  dst(x,y) = 0, otherwise.

    CV_THRESH_OTSU   

    CV_THRESH_TOZERO_INV dst(x,y) = 0, if src(x,y)>threshold ;  dst(x,y) = src(x,y), otherwise

    0: THRESH_BINARY 当前点值大于阈值时,取max_value,也就是第四个参数,否则设置为0

    1: THRESH_BINARY_INV 当前点值大于阈值时,设置为0,否则设置为max_value

    2: THRESH_TRUNC 当前点值大于阈值时,设置为阈值,否则不改变

    3: THRESH_TOZERO 当前点值大于阈值时,不改变,否则设置为0

    4: THRESH_TOZERO_INV 当前点值大于阈值时,设置为0,否则不改变

  • 相关阅读:
    mobileSelect学习
    使用qrcode生成二维码
    点点点右边有内容
    搜索框search
    input样式和修改
    art-template模板引擎高级使用
    Nodejs中的路径问题
    异步编程(回调函数,promise)
    在nodejs中操作数据库(MongoDB和MySQL为例)
    MongoDB数据库
  • 原文地址:https://www.cnblogs.com/yangxuebing/p/6734346.html
Copyright © 2011-2022 走看看