基本全局阈值处理

基本全局阈值处理

1、全局阈值处理

(1)计算步骤

通常,在图像处理中首选的方法是使用一种能基于图像数据自动地选择阈值的算法,为了自动选阈值,下列迭代过程采用的就是这样的方法:
(1) 针对全局阈值选择初始估计值T。
(2) 用T 分割图像。这会产生两组像素:G1 由所有灰度值大于T 的像素组成,G2 由所有灰度值小于等于T 的像素组成。
(3) 分别计算G1G2 区域内的平均灰度值m1 m2
(4) 计算出新的阈值:


(5) 重复步骤(2)~(4),直到在连续的重复中,T 的差异比预先设定的参数△T 小为止。
(6) 使用函数im2bw 分割图像:

	g = im2bw(f, T/den)
其中,den 是整数(例如一幅8 比特图像的255),是T/den 比率为1 的数值范围内的最大值,正如函数im2bw 要求的那样。

(2)代码

%计算全局阈值
clc;
clear all;
close all;
f=imread('0.tif');
figure;imshow(f);title('原图像');	%显示原图像
%%
%全局阈值分割
count=0;
T=mean2(f);
done=false;
while ~done
    count=count+1;
    g=f>T;
    Tnext=0.5*(mean(f(g))+mean(f(~g)));
    done=abs(T-Tnext)<0.5;
    T=Tnext;
end
disp('count的值为:');
disp(['count=',num2str(count)])  %打印输出count的值
disp('T的值为:');
disp(['T=',num2str(T)])       %打印输出T的值
g=im2bw(f,T/255);
figure;subplot(2,2,1);imshow(f);title('原图像');
subplot(2,2,2);imhist(f);title('f直方图');
subplot(2,2,3);imshow(g);title('阈值后图像');

(3)结果

2、使用边缘改进全局阈值处理

(1)步骤

(1) 用任何方法计算来自f (x,y)的边缘图像。边缘图像可以是梯度或拉普拉斯的绝对值。
(2) 指定阈值T。
(3) 用来自步骤(2)的阈值对来自步骤(1)的图像进行阈值处理,产生一副二值图像gT(x,y)。这幅图像在步骤(4)中选择来自f (x,y)的对应于强边缘的像素并作为标记图像使用。
(4) 仅用f (x,y)中的像素计算直方图,对应gT(x,y)中1 值像素的位置。
(5) 用来自步骤(4)中的直方图,通过全局阈值方法(如Otsu's 方法)来分割f (x,y)。
通常,通过指定T 值(T 值与某个百分比对应)来典型地设置高值(例如90%),因此,在阈值计算中使用图像的边缘上没有多少像素。自定义函数percentile2i可用于这个目的。该函数计算灰度值I,I 对应指定的百分比。语法是:

		I = percentile2i(h, P)
其中,h 是图像的直方图,p 是在[0, 1]范围内的百分比值。输出I 是灰度级(也在[0, 1]范围内),对应第p 个百分点。

(2)代码

%计算全局阈值
clc;
clear all;
close all;
src=imread('a.tif');
figure;imshow(src);title('原图像');%显示原图像
%%
%计算梯度
f = tofloat(src);
sx = fspecial('sobel');
sy = sx';
gx = imfilter(f,sx,'replicate');
gy = imfilter(f,sy,'replicate');
grad = sqrt(gx.*gx + gy.*gy);
grad = grad/max(grad(:));
%%
%得到grad 的直方图,并使用高的百分比(99.9%)估计梯度的阈值
h = imhist(grad);
Q = percentile2i(h, 0.999);
%%
%用Q 对梯度做阈值处理,形成标记图像,并且从f 中提取梯度值比Q大的点,得到结果的直方图:
markerImage = grad > Q;
figure, imshow(markerImage) % Fig. 10.16(c).
fp = f.*markerImage;
figure, imshow(fp) % Fig. 10.16(d).
hp = imhist(fp);
%%
%用结果的直方图得到Otsu 阈值
hp(1) = 0;
bar(hp, 0) % Fig. 10.16(e).
T = otsuthresh(hp);
T*(numel(hp) - 1)
g = im2bw(f, T);
figure, imshow(g)

函数percentile2i定义

function I=percentile2i(h,P)
%PERCENTILE2I Computes an intensity value given a percentile.
% I=PERCENTILE2I(H,P) Given a percentile ,p,and a histogram,
% H, this function computes an intensity ,I representing 
% the Pth percentile and returns the value  in I. P must be in the 
% range [0,1] and I is returned as a value in the range [0,1] also.
% Example:
% I=percentile2i(h,0.5)

% Check value of P
if P<0 || P>1
    error('The percentile must be in the range [0,1].');
end

% Normalized the histogram to unit area.if it is already normalized
% the following computation has no effect.
h=h/sum(h);

% Camulative distribution
C=cumsum(h);
% Calculations.
idx=find(C >= P,1,'first');
% Subtract 1 from idx because indexing starts at 1,but intensities
% start at 0. Also ,normalize to the range [0,1].
I=(idx-1)/(numel(h)-1);

函数otsuthresh定义

function [T, SM] = otsuthresh(h)
%OTSUTHRESH Otsu's optimum threshold given a histogram.
% [T, SM] = OTSUTHRESH(H) computes an optimum threshold, T, in the
% range [0 1] using Otsu's method for a given a histogram, H.
% Normalize the histogram to unit area. If h is already normalized,
% the following operation has no effect.
h = h/sum(h);
h = h(:); % h must be a column vector for processing below.
% All the possible intensities represented in the histogram (256 for
% 8 bits). (i must be a column vector for processing below.)
i = (1:numel(h))';
% Values of P1 for all values of k.
P1 = cumsum(h);
% Values of the mean for all values of k.
m = cumsum(i.*h);
% The image mean.
mG = m(end);
% The between-class variance.
sigSquared = ((mG*P1 - m).^2)./(P1.*(1 - P1) + eps);
% Find the maximum of sigSquared. The index where the max occurs is
% the optimum threshold. There may be several contiguous max values.
% Average them to obtain the final threshold.
maxSigsq = max(sigSquared);
T = mean(find(sigSquared == maxSigsq));
% Normalized to range [0 1]. 1 is subtracted because MATLAB indexing
% starts at 1, but image intensities start at 0.
T = (T - 1)/(numel(h) - 1);
% Separability measure.
SM = maxSigsq / (sum(((i - mG).^2) .* h) + eps);

(3)结果


3、用拉普拉斯边缘信息改进全局阈值处理

(1)代码

%
clc;
clear all;
close all;
src=imread('b.tif');
figure;imshow(src);title('原图像');%显示原图像
%%
%
f = tofloat(src);
imhist(f) 		% 图像直方图
hf = imhist(f);
[Tf SMf] = graythresh(f);
gf = im2bw(f, Tf);      
figure, imshow(gf) 	% 显示阈值图像.
%%
w = [-1 -1 -1; -1 8 -1; -1 -1 -1];
lap = abs(imfilter(f, w, 'replicate')); 
lap = lap/max(lap(:));
h = imhist(lap);
Q = percentile2i(h, 0.995);
markerImage = lap > Q;
fp = f.*markerImage;
figure, imshow(fp) 
hp = imhist(fp);
hp(1) = 0;
figure, bar(hp, 0)
T = otsuthresh(hp);
g = im2bw(f, T);
figure, imshow(g) 

(2)结果



  • 12
    点赞
  • 96
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
智能图像处理技术 作者:李弼程 出版社:电子工业出版社 ISBN:712100047 原价: ¥32 图书简介 本书主要论述了智能图像处理技术,系统介绍了智能图像处理技术的有代表性的思想、算法与应用,跟踪了图像处理技术的发展前沿。全书共分为15章,重点讨论了图像边缘检测、图像分割、图像特征分析、图像配准、图像融合、图像分类、图像识别、基于内容的图像检索与图像数字水印。此外,为了内容的完整性,本书还介绍了图像预处理技术,如图像采集、图像变换、图像增强、图像恢复、图像编码与压缩。  图书目录 第1章 绪论 1.1 图像与图像处理的概念 1.2 数字图像处理研究的内容 1.2.1 传统的图像处理技术 1.2.2 智能图像处理技术 1.3 数字图像处理系统 1.4 数字图像处理的应用 1.5 人的视觉系统与色度学基础 1.5.1 人的视觉系统 1.5.2 色度学基础 1.6 本书的安排 本章参考文献第2章 图像采集 2.1 图像数字化 2.1.1 图像的数学模型 2.1.2 采样与量化 2.2 量化技术 2.2.1 标量量化 2.2.2 矢量量化 2.2.3 LBG算法与初始码书设计 2.3 图像输入 2.3.1 图像采集系统 2.3.2 图像输入设备 2.4 图像文件格式 2.4.1 BMP(位图)文件格式 2.4.2 GIF文件格式 2.4.3 JPEG文件格式 本章参考文献 第3章 图像变换 3.1 傅里叶变换 3.1.1 一维傅里叶变换 3.1.2 二维傅里叶变换 3.1.3 二维离散傅里叶变换的性质 3.1.4 正交变换的基本概念 3.2 离散余弦变换 3.2.1 离散余弦变换的定义 3.2.2 离散余弦变换的快速实现 3.3 K-L变换 3.3.1 K-L变换的定义 3.3.2 K-L变换的性质 3.4 小波变换 3.4.1 连续小波变换 3.4.2 二进小波变换 3.4.3 离散小波变换 3.5 其他可分离变换 3.5.1 沃尔什变换 3.5.2 哈达玛变换 3.5.3 斜变换 本章参考文献 第4章 图像增强 4.1 空间域单点增强 4.1.1 灰度变换 4.1.2 直方图修正 4.2 图像平滑 4.2.1 噪声门限法 4.2.2 邻域平均法 4.2.3 加权平均法 4.2.4 中值滤波 4.2.5 掩膜平滑法 4.2.6 空间低通滤波 4.3 图像锐化 4.3.1 微分算子方法 4.3.2 Sobel算子 4.3.3 拉普拉斯算子 4.3.4 统计差值法 4.3.5 掩膜匹配法 4.3.6 空间高通滤波 4.4 图像滤波 4.4.1 低通滤波 4.4.2 同态滤波 4.4.3 高通滤波 4.5 彩色增强 4.5.1 假彩色处理 4.5.2 伪彩色处理 本章参考文献 第5章 图像恢复 5.1 图像退化的数学模型 5.1.1 图像退化模型 5.1.2 点冲激函数的退化模型 5.1.3 连续图像退化模型 5.1.4 离散图像的退化模型 5.1.5 离散退化模型的求解 5.2 无约束图像恢复 5.2.1 最小二乘估计 5.2.2 运动模糊图像的恢复 5.3 有约束图像恢复 5.3.1 有约束的最小二乘图像恢复 5.3.2 维纳滤波 5.3.3 功率谱均衡恢复 5.3.4 有约束最小平方恢复 5.4 图像几何校正 5.4.1 几何校正方法 5.4.2 空间几何坐标变换 5.4.3 重采样 本章参考文献 第6章 图像编码与压缩 6.1 图像编码基础 6.1.1 数据压缩的概念 6.1.2 图像压缩的性能评价 6.2 统计编码 6.2.1 编码效率与冗余度 6.2.2 霍夫曼编码 6.2.3 香农-费诺编码 6.2.4 算术编码 6.3 预测编码 6.3.1 预测编码的基本原理 6.3.2 差值脉冲编码调制 6.3.3 最优线性预测 6.4 变换编码 6.4.1 变换编码系统结构 6.4.2 正交变换编码 6.4.3 小波变换编码简介 6.5 无失真压缩编码 6.5.1 引言 6.5.2 基于线性预测的无失真压缩 6.5.3 基于S+P变换的无失真压缩 6.5.4 基于第二代小波变换的无失真压缩 6.6 国际标准简介 6.6.1 JPEG 6.6.2 H.261建议 6.6.3 MPEG-1标准 6.6.4 MPEG-2标准 6.6.5 MPEG-4标准 6.6.6 MPEG-7标准 6.6.7 MPEG-21标准 本章参考文献 第7章 图像边缘检测 7.1 边缘检测的基本概念 7.2 微分边缘检测算子 7.2.1 梯度方法 7.2.2 二阶微分算子 7.3 多尺度边缘检测 7.3.1 Marr-Hildretch边缘检测 7.3.2 Witkin尺度滤波理论 7.3.3 小波变换边缘检测 7.4 基于模糊增强的边缘检测 7.4.1 引言 7.4.2 单层次模糊增强简介 7.4.3 多层次模糊增强 7.4.4 基于多层次模糊增强的边缘提取 7.5 基于Snake模型的边缘检测 7.5.1 Snake模型的数学描述 7.5.2 基于Snake模型的边缘检测 7.6 曲面拟合边缘检测 本章参考文献 第8章 图像分割 8.1 图像分割的一般模型 8.2 基于阈值选取的图像分割方法 8.2.1 直方图阈值 8.2.2 最大熵阈值 8.2.3 二维直方图阈值 8.2.4 统计判决确定门限 8.2.5 局部阈值法 8.3 基于区域的图像分割方法 8.3.1 区域生长法 8.3.2 分裂-合并 8.4 基于边缘检测的图像分割 8.4.1 Hough变换原理 8.4.2 Hough变换应用 8.4.3 广义Hough变换 8.5 模糊分割技术 8.5.1 模糊阈值分割方法 8.5.2 基于二维直方图的模糊门限分割方法 本章参考文献 第9章 图像特征分析 9.1 颜色特征分析 9.1.1 颜色的表示 9.1.2 颜色直方图 9.1.3 直方图不变特征量 9.1.4 颜色矩 9.2 纹理特征分析 9.2.1 空间自相关法 9.2.2 傅里叶功率谱法 9.2.3 共生矩阵法 9.2.4 基于邻域特征统计的纹理分析方法 9.2.5 灰度差分统计方法与行程长度统计法 9.2.6 用分数维描述纹理 9.2.7 Tamura纹理特征 9.3 形状特征分析 9.3.1 引言 9.3.2 基于轮廓的全局方法 9.3.3 基于轮廓的结构方法 9.3.4 基于区域的全局方法 9.3.5 基于区域的结构方法 本章参考文献 第10章 图像配准 10.1 图像配准基础 10.1.1 图像配准的概念 10.1.2 图像配准的一般模型 10.1.3 相似性测度 10.2 基于图像灰度的图像配准 10.2.1 互相关匹配方法 10.2.2 投影匹配算法 10.2.3 基于傅里叶变换的相位匹配方法 10.2.4 图像矩匹配方法 10.3 基于图像特征的配准 10.3.1 算法步骤与特点 910.3.2 图像预处理 10.3.3 特征选择 10.3.4 图像匹配 10.4 最小二乘图像匹配方法 10.4.1 基本思想 10.4.2 基本算法 10.5 快速匹配方法 10.5.1 分层搜索算法 10.5.2 基于遗传算法的匹配方法 10.5.3 基于金字塔分级搜索的匹配方法 本章参考文献 第11章 图像融合 11.1 图像融合的基本原理 11.1.1 信息融合的概念 11.1.2 多源遥感图像融合 11.1.3 图像融合的模型框架与算法 11.1.4 遥感图像融合效果的评价 11.2 小波变换融合法 11.2.1 传统的小波变换融合方法 11.2.2 基于特征的小波变换融合方法 11.3 基于PCA变换与小波变换的图像融合 11.3.1 PCA(主分量分析)变换融合法 11.3.2 基于PCA变换与小波变换的融合算法 11.4 基于IHS变换与小波变换的图像融合 11.4.1 IHS变换融合法 11.4.2 基于IHS变换与小波变换的融合算法 本章参考文献 第12章 图像分类 12.1 图像分类的概念与原理 12.1.1 图像分类的概念 12.1.2 图像分类的原理 12.2 统计分类方法 12.2.1 监督分类 12.2.2 非监督分类 12.3 模糊分类方法 12.3.1 模糊集合 12.3.2 模糊关系 12.3.3 模糊分类 12.3.4 基于模糊关系的模式分类 12.3.5 模糊聚类方法 12.3.6 改进的模糊C-均值算法 12.4 神经网络分类方法 12.4.1 人工神经网络基础 12.4.2 神经网络监督分类方法 12.4.3 神经网络非监督分类方法 12.5 基于广义图像的神经网络遥感图像分类方法 12.5.1 广义图像 12.5.2 算法的实现过程 12.5.3 实验结果与性能比较 12.6 基于证据理论与神经网络的遥感图像分类方法 12.6.1 证据理论 12.6.2 算法的实现过程 12.6.3 实验结果与性能比较 本章参考文献 第13章 图像识别 13.1 图像识别的基本原理 13.2 模板匹配识别技术 13.2.1 模板匹配一般模型 13.2.2 序贯相似性检测算法 13.3 神经网络图像识别技术 13.3.1 神经网络识别的一般模型 13.3.2 BP神经网络识别技术 13.3.3 Kohonen神经网络识别技术 13.4 模糊识别技术 13.4.1 隶属原则识别法 13.4.2 择近原则识别法 13.4.3 一种手写文字模糊识别技术 13.5 基于隐马尔可夫模型的识别技术 13.5.1 隐马尔可夫模型基础 13.5.2 基于隐马尔可夫模型的人脸识别 13.6 车牌识别技术 13.6.1 系统简介 13.6.2 车牌图像定位分割算法 13.6.3 车牌字符的识别 本章参考文献 第14章 c基于内容的图像检索 14.1 基于内容的图像检索概述 14.1.1 基于内容的检索 14.1.2 基于内容的图像检索 14.1.3 基于内容的图像检索相关技术 14.1.4 基于内容的图像检索系统 14.2 基于颜色特征的图像检索 14.2.1 直方图方法 14.2.2 中心矩法 14.2.3 参考颜色表法 14.2.4 颜色对方法 14.2.5 基于主色调的检索方法 14.2.6 结合空间信息的图像检索方法 14.3 基于纹理特征的图像检索 14.3.1 基于共生矩阵的纹理匹配 14.3.2 基于小波变换的纹理匹配 14.3.3 基于Gabor变换的纹理匹配 14.4 基于形状特征的图像检索 14.4.1 基于傅里叶描述的形状检索 14.4.2 基于形状矩的形状检索 本章参考文献 第15章 图像数字水印技术 15.1 图像数字水印技术概述 15.1.1 信息隐藏技术 15.1.2 数字水印技术 15.2 空域水印技术 15.3 DCT域图像水印技术 15.3.1 DCT域图像水印研究综述 15.3.2 算法实例 5.3.3 水印的稳健性测试 15.4 小波域图像水印技术 15.4.1 技术流程 15.4.2 基于低频子带方法 15.4.3 细节分量方法 15.4.4 利用图像编码的方法 15.4.5 Inoue算法 15.5 脆弱图像数字水印技术 15.5.1 脆弱图像数字水印的基本特征和研究状况 15.5.2 算法实例 本章参考文献

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值