
- Mahotas 教程
- Mahotas - 首頁
- Mahotas - 簡介
- Mahotas - 計算機視覺
- Mahotas - 歷史
- Mahotas - 特性
- Mahotas - 安裝
- Mahotas 影像處理
- Mahotas - 影像處理
- Mahotas - 載入影像
- Mahotas - 載入灰度影像
- Mahotas - 顯示影像
- Mahotas - 顯示影像形狀
- Mahotas - 儲存影像
- Mahotas - 影像質心
- Mahotas - 影像卷積
- Mahotas - 建立RGB影像
- Mahotas - 影像尤拉數
- Mahotas - 影像中零的比例
- Mahotas - 獲取影像矩
- Mahotas - 影像區域性最大值
- Mahotas - 影像橢圓軸
- Mahotas - 影像拉伸RGB
- Mahotas 顏色空間轉換
- Mahotas - 顏色空間轉換
- Mahotas - RGB轉灰度轉換
- Mahotas - RGB轉LAB轉換
- Mahotas - RGB轉棕褐色
- Mahotas - RGB轉XYZ轉換
- Mahotas - XYZ轉LAB轉換
- Mahotas - XYZ轉RGB轉換
- Mahotas - 增加伽馬校正
- Mahotas - 拉伸伽馬校正
- Mahotas 標記影像函式
- Mahotas - 標記影像函式
- Mahotas - 標記影像
- Mahotas - 過濾區域
- Mahotas - 邊界畫素
- Mahotas - 形態學操作
- Mahotas - 形態學運算元
- Mahotas - 查詢影像均值
- Mahotas - 裁剪影像
- Mahotas - 影像偏心率
- Mahotas - 影像疊加
- Mahotas - 影像圓度
- Mahotas - 調整影像大小
- Mahotas - 影像直方圖
- Mahotas - 膨脹影像
- Mahotas - 腐蝕影像
- Mahotas - 分水嶺演算法
- Mahotas - 影像開運算
- Mahotas - 影像閉運算
- Mahotas - 填充影像空洞
- Mahotas - 條件膨脹影像
- Mahotas - 條件腐蝕影像
- Mahotas - 影像條件分水嶺演算法
- Mahotas - 影像區域性最小值
- Mahotas - 影像區域最大值
- Mahotas - 影像區域最小值
- Mahotas - 高階概念
- Mahotas - 影像閾值化
- Mahotas - 設定閾值
- Mahotas - 軟閾值
- Mahotas - Bernsen區域性閾值化
- Mahotas - 小波變換
- 製作影像小波中心
- Mahotas - 距離變換
- Mahotas - 多邊形工具
- Mahotas - 區域性二值模式
- 閾值鄰域統計
- Mahotas - Haralick特徵
- 標記區域的權重
- Mahotas - Zernike特徵
- Mahotas - Zernike矩
- Mahotas - 排序濾波器
- Mahotas - 二維拉普拉斯濾波器
- Mahotas - 多數濾波器
- Mahotas - 均值濾波器
- Mahotas - 中值濾波器
- Mahotas - Otsu方法
- Mahotas - 高斯濾波
- Mahotas - Hit & Miss變換
- Mahotas - 標記最大值陣列
- Mahotas - 影像平均值
- Mahotas - SURF密集點
- Mahotas - SURF積分影像
- Mahotas - Haar變換
- 突出影像最大值
- 計算線性二值模式
- 獲取標籤邊界
- 反轉Haar變換
- Riddler-Calvard方法
- 標記區域的大小
- Mahotas - 模板匹配
- 加速魯棒特徵
- 去除帶邊界的標記
- Mahotas - Daubechies小波
- Mahotas - Sobel邊緣檢測
Mahotas - 影像閾值化
影像閾值化是一種基於畫素強度將感興趣區域與背景分離的技術。它涉及設定一個閾值,將影像分為前景和背景。
強度高於閾值的畫素被分類為前景,而強度低於閾值的畫素被分類為背景。
這種二元分離允許進一步的分析,例如目標檢測、分割或特徵提取。影像閾值化可以應用於各種型別的影像,包括灰度影像和彩色影像,以簡化後續的處理和分析任務。
使用影像閾值化涉及選擇合適的閾值並將其應用於影像。閾值可以使用各種閾值化技術計算。
閾值化方法的選擇取決於影像特性、噪聲水平和所需結果等因素。
這裡,我們簡要討論了每種技術。更深入的資訊將在後面的章節中討論。
讓我們看看Mahotas中可以使用的每種閾值化技術:
Bernsen閾值化
Bernsen閾值化是一種將灰度影像中的前景與背景分離的閾值化技術。它根據每個畫素周圍鄰域內的最大和最小畫素強度計算區域性閾值。
如果畫素的強度更接近最大值,則將其視為前景的一部分;否則,將其視為背景的一部分。
讓我們看看下面的Bernsen閾值影像:

廣義Bernsen閾值化
廣義Bernsen閾值化是對Bernsen閾值化方法的改進。它考慮鄰域內更廣泛的畫素強度範圍,而不僅僅是最大和最小強度值。
下面的影像顯示了廣義Bernsen閾值影像:

Otsu閾值化
Otsu閾值化技術自動確定將前景與背景分離的最佳閾值。
Otsu方法迭代地檢查所有可能的閾值,並選擇使類間方差最大的閾值。
讓我們看看下面的Otsu閾值影像:

Riddler-Calvard閾值化
Riddler-Calvard閾值化也自動確定最佳閾值。它基於前景和背景方差加權和的最小化。
讓我們看看下面的Riddler-Calvard閾值影像:

軟閾值化
軟閾值化是一種用於影像去噪的技術。它將強度值小於某個閾值的畫素設定為零。軟閾值化保留了影像的重要結構資訊,同時減少了噪聲。
下圖顯示了軟閾值化:

示例
在下面的示例中,我們嘗試執行所有上述解釋的閾值化技術:
import mahotas as mh import numpy as np import matplotlib.pyplot as mtplt image = mh.imread('sea.bmp', as_grey=True) # Bernsen thresholding bernsen = mh.thresholding.bernsen(image, 5, 5) mtplt.imshow(bernsen) mtplt.title('Bernsen Thresholding') mtplt.axis('off') mtplt.show() # Generalized Bernsen thresholding gbernsen = mh.thresholding.gbernsen(image, mh.disk(3), 10, 109) mtplt.imshow(gbernsen) mtplt.title('Generalized Bernsen Thresholding') mtplt.axis('off') mtplt.show() # Otsu threshold int_image_otsu = image.astype(np.uint8) otsu = mh.otsu(int_image_otsu) result_image = image > otsu mtplt.imshow(result_image) mtplt.title('Otsu Thresholding') mtplt.axis('off') mtplt.show() # Riddler-Calvard threshold int_image_rc = image.astype(np.uint8) rc = mh.thresholding.rc(int_image_rc) final_image = image > rc mtplt.imshow(final_image) mtplt.title('RC Thresholding') mtplt.axis('off') mtplt.show() # Soft threshold soft = mh.thresholding.soft_threshold(image, np.mean(image)) mtplt.imshow(soft) mtplt.title('Soft Thresholding') mtplt.axis('off') mtplt.show()
輸出
獲得的輸出如下所示:
Bernsen閾值化

廣義Bernsen閾值化

Otsu閾值化

Riddler-Calvard閾值化

軟閾值化

我們將在後面的章節中詳細討論所有閾值化技術。