图像处理函数详解——im2bw

简介:   im2bw是基于转换为二值图像的算法,用的是otsu's method.   matlab中DIP工具箱函数im2bw使用阈值(threshold)变换法把灰度图像(grayscale image)转换成二值图像。

  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:上面已经解释了,输出的是二值图像。

 

相关文章
|
计算机视觉 容器
OpenCV-通道分离cv::split
OpenCV-通道分离cv::split
|
4月前
|
人工智能
Die 10 besten Image Sharpener auf dem Markt im Jahr 2024
In der Welt der digitalen Fotografie sind scharfe, klare Bilder unerlässlich. Unser Artikel stellt Ihnen die zehn besten Bildschärfer-Tools vor, darunter bekannte Namen wie VanceAI Image Sharpener, Adobe Photoshop Sharpener und Luminar Neo Sharpener. Wir beleuchten die einzigartigen Funktionen, Vor-
|
4月前
|
计算机视觉 Python
将QImage转化成Mat方法
本文提供了一个将QImage转换为OpenCV Mat格式的Python函数,通过转换QImage到RGB32格式并使用numpy数组重塑来实现转换。
|
6月前
|
存储 编解码 API
【图像文本化】Base64编解码OpenCV4中 Mat 对象
【图像文本化】Base64编解码OpenCV4中 Mat 对象
97 0
|
6月前
|
人工智能
Die 10 besten AI Image Upscaler auf dem Markt: Eine umfassende Bewertung
Unsere Bewertung präsentiert die Top 10 Upscale-Image-Tools, darunter das VanceAI Image Upscaler. Von KI-Technologie bis zu traditionellen Optionen bietet der Artikel Einblicke in die besten Tools. Jedes wird anhand seiner Funktionen, Vor- und Nachteile bewertet. Ob Profi oder Amateur, für jeden Bed
|
7月前
|
存储 算法 编译器
【ffmpeg 到Qt的图片格式转换】精彩的像素:深入解析 AVFrame 到 QImage 的转换
【ffmpeg 到Qt的图片格式转换】精彩的像素:深入解析 AVFrame 到 QImage 的转换
266 0
|
存储 文字识别 监控
Baumer工业相机堡盟相机BGAPI SDK如何联合Halcon进行图像转换(C++)(将byte二进制图像数据转为Hobject)
Baumer工业相机堡盟相机BGAPI SDK如何联合Halcon进行图像转换(C++)(将byte二进制图像数据转为Hobject)
164 0
|
文字识别 监控 算法
Baumer工业相机堡盟相机使用BGAPISDK联合Halcon直接进行彩色图像显示(Color)(C#)(将图像数据Buffer转为HObject)
Baumer工业相机堡盟相机使用BGAPISDK联合Halcon直接进行彩色图像显示(Color)(C#)(将图像数据Buffer转为HObject)
158 0
|
文字识别 监控 算法
Baumer工业相机堡盟相机BGAPI SDK如何联合Halcon进行图像转换(C#)(将图像数据Buffer转为HObject)
Baumer工业相机堡盟相机BGAPI SDK如何联合Halcon进行图像转换(C#)(将图像数据Buffer转为HObject)
169 0
|
机器学习/深度学习 传感器 编解码
CV学习笔记-立体视觉(点云模型、Spin image、三维重建)
CV学习笔记-立体视觉(点云模型、Spin image、三维重建)
961 0
CV学习笔记-立体视觉(点云模型、Spin image、三维重建)