• 图像处理函数详解——im2bw


      im2bw是基于转换为二值图像的算法,用的是otsu's method.

      matlab中DIP工具箱函数im2bw使用阈值(threshold)变换法把灰度图像(grayscale image)转换成二值图像。所谓二值图像, 一般意义上是指只有纯黑(0)、纯白(255)两种颜色的图像。 当然, 也可以是其他任意两种颜色的组合。 在matlab命令行中键入doc im2b或help im2bw即可获得该函数的帮助信息。

      阈值变换

      比如数组 a = [120, 254, 0, 200, 99];

      设定一个阈值125, 并对a进行阈值变换, 那么a中凡是大于125的, 则变为255, 小于等于125的则变为0

      (具体对临界情况处理可能不同, 不过matlab中im2bw函数是按照上述方法处理的)

      这样a经过阈值变换后变为[0, 255, 0, 255, 0]

    功能

    通过设定亮度将阈值灰度、真彩、索引图像转换为二值图像。


    用法

    BW = im2bw(I,level)

      将灰度图像 I 转换为二进制图像。输出图像 BW 将输入图像中亮度值大于 level 的像素替换为值1 (白色),其他替换为值0(黑色)。你指定 level  [0,1]之间,不用管输入图像的等级。函数graythresh 能用来自动计算变量 level 。如果你不指定 level im2bw 使用 0.5


    BW = im2bw(X,map,level)

    将颜色表为 map 的索引图像 X 转换为二进制图像。


    BW = im2bw(RGB,level)

    RGB 真彩图像转换为二进制图像。Level是归一化的阈值,值域为[0,1]。Level可以由函数graythresh(I)来计算。
    如果输入图像不是灰度图像, im2bw 首先将图像转换为灰度图像,然后通过阈值将灰度图像转换成二进制图像。


    例子load trees

    BW = im2bw(X,map,0.4);

    imview(X,map),imview(BW)

     

    (拓展一下)各个函数的使用:

    im2uint8:将输入转化为uint8,有效的输入图像数据类型包括logical, uint8, uint16, double

    im2uint16:将输入转化为uint16,有效的输入图像数据类型包括同上

    mat2gray:将输入转化为double,但是输出的double数据都在[0, 1]范围内,有效的输入只有double

    im2double:如果输入的不是double类型图像,在输出都是在[0, 1]范围,如uint8则输出为uint8/255。但如果是double类型,则原样输出

    im2bw:上面已经解释了,输出的是二值图像。

  • 相关阅读:
    iaas,paas,saas理解
    July 06th. 2018, Week 27th. Friday
    July 05th. 2018, Week 27th. Thursday
    July 04th. 2018, Week 27th. Wednesday
    July 03rd. 2018, Week 27th. Tuesday
    July 02nd. 2018, Week 27th. Monday
    July 01st. 2018, Week 27th. Sunday
    June 30th. 2018, Week 26th. Saturday
    June 29th. 2018, Week 26th. Friday
    June 28th. 2018, Week 26th. Thursday
  • 原文地址:https://www.cnblogs.com/lihuidashen/p/3432562.html
Copyright © 2020-2023  润新知