一种自适应的图像二值化
来源:互联网 发布:懒人听书软件 编辑:程序博客网 时间:2024/05/18 01:17
思想来源于:http://www.cnblogs.com/Imageshop/archive/2013/04/22/3036127.html
改进的策略是用一个2D高斯核去卷积图线,以此作为图像自适应的阈值
下面是对一组常见的MR心脏仿体图像实验的结果:
作者提供MATLAB:
% ADAPTIVETHRESH - Wellner's adaptive thresholding%% Thresholds an image using a threshold that is varied across the image relative% to the local mean, or median, at that point in the image. Works quite well on% text with shadows%% Usage: bw = adaptivethresh(im, fsize, t, filterType, thresholdMode)%% bw = adaptivethresh(im) (uses default parameter values)%% Arguments: im - Image to be thresholded.%% fsize - Filter size used to determine the local weighted mean% or local median. % - If the filterType is 'gaussian' fsize specifies the% standard deviation of Gaussian smoothing to be% applied. % - If the filterType is 'median' fsize specifies the% size of the window over which the local median is% calculated. %% The value for fsize should be large, around one tenth to% one twentieth of the image size. It defaults to one% twentieth of the maximum image dimension.%% t - Depending on the value of 'mode' this is the value% expressed as a percentage or fixed amount, relative to% the local average, or median grey value, below which% the local threshold is set. % Try values in the range -20 to +20. % Use +ve values to threshold dark objects against a% white background. Use -ve values if you are% thresholding white objects on a predominatly % dark background so that the local threshold is set% above the local mean/median. This parameter defaults to 15.%% filterType - Optional string specifying smoothing to be used% - 'gaussian' use Gaussian smoothing to obtain local% weighted mean as the local reference value for setting% the local threshold. This is the default% - 'median' use median filtering to obtain local reference% value for setting the local threshold%% thresholdMode - Optional string specifying the way the threshold is% defined. % - 'relative' the value of t represents the percentage,% relative to the local average grey value, below which% the local threshold is set. This is the default.% - 'fixed' the value of t represents the fixed grey level% relative to the local average grey value, below which% the local threshold is set. %% Note that in the 'relative' threshold mode the amount the% threshold differs from the local mean/median will vary in% proportion with the local mean/median. A small difference% from the local mean in the dark regions of the image will% be more significant than the same difference in a bright% portion of the image. This will match with human% perception. However this does mean that the results will% depend on the grey value origin and whether the image% is,say, negated.%% The implementation differs from Pierre Wellner's original adaptive% thresholding algorithm in that he calculated the local weighted mean just% along the row, or pairs of rows, in the image using a recursive filter. Here% we use symmetrical 2D Gaussian smoothing to calculate the local mean. This is% slower but more general. This code also offers the option of using median% filtering as a robust alternative to the mean (outliers will not influence the% result) and offers the option of using a fixed threshold relative to the% mean/median. Despite the potential advantage of median filtering being% more robust I find the output from using Gaussian filtering more pleasing.%% Reference: Pierre Wellner, "Adaptive Thresholding for the DigitalDesk" Rank% Xerox Technical Report EPC-1993-110 1993% Copyright (c) 2008 Peter Kovesi% School of Computer Science & Software Engineering% The University of Western Australia% pk at csse uwa edu au% http://www.csse.uwa.edu.au/% % Permission is hereby granted, free of charge, to any person obtaining a copy% of this software and associated documentation files (the "Software"), to deal% in the Software without restriction, subject to the following conditions:% % The above copyright notice and this permission notice shall be included in % all copies or substantial portions of the Software.%% The Software is provided "as is", without warranty of any kind.%% August 2008 function bw = adaptivethresh(im, fsize, t, filterType, thresholdMode) % Set up default parameter values as needed if nargin < 2fsize = fix(length(im)/20); end if nargin < 3t = 15; end if nargin < 4filterType = 'gaussian'; end if nargin < 5thresholdMode = 'relative'; end % Apply Gaussian or median smoothing if strncmpi(filterType, 'gaussian', 3)g = fspecial('gaussian', 6*fsize, fsize);fim = filter2(g, im); elseif strncmpi(filterType, 'median', 3)fim = medfilt2(im, [fsize fsize], 'symmetric'); elseerror('Filtertype must be ''gaussian'' or ''median'' '); end % Finally apply the threshold if strncmpi(thresholdMode,'relative',3)bw = im > fim*(1-t/100); elseif strncmpi(thresholdMode,'fixed',3)bw = im > fim-t; elseerror('mode must be ''relative'' or ''fixed'' '); end
0 0
- 一种自适应的图像二值化
- 一种快速自适应的图像二值化方法介绍 (Wellner 1993)
- 一种快速自适应的图像二值化方法介绍 (Wellner 1993)
- 一种快速自适应的图像二值化方法介绍 (Wellner 1993)
- 图像的自适应二值化
- 图像二直化之一种快速自适应图像二值化算法(Wellner 1993)
- 一种稳健的自适应图像平滑算法(芮杰等)
- 一种超级快速的图像二值化方法
- 一种改进的OPenCV局部 自适应快速二值化
- 一种改进的OPenCV局部 自适应快速二值化
- OTSU方法计算图像二值化的自适应阈值
- OTSU方法计算图像二值化的自适应阈值
- OTSU方法计算图像二值化的自适应阈值
- OPenCV:采用otsu自适应门限的图像二值化方法
- OpenCV_基于局部自适应阈值的图像二值化
- OpenCV_基于局部自适应阈值的图像二值化
- OpenCV基于局部自适应阈值的图像二值化
- OpenCV基于局部自适应阈值的图像二值化
- Memset 初始化问题
- java 用properties文件配置spring数据源,用spring的JdbcTemplate的queryForList查数据
- oracle 实现表中某个字段的自动增加(相当于有些数据库的自增列)
- Java的一个堆栈例子
- N皇后问题
- 一种自适应的图像二值化
- laravel插件包 网站 国外的哦
- ConcurrentHashMap中rehash函数理解
- 使用spring 配置数据源,并用数据源得到连接,操作sql
- Ubuntu 复制文件到远端时错误,Permission denied 失败原因深度探索
- 如何给 textview添加类似于textfield的水印文字
- Redis 使用 Lua 实现 split 结合 HMGET 批量读取数据
- keil C51变量定义位置
- struts2整合spring应用实例