• PUDN用户
    了解作者
  • matlab
    开发工具
  • 1KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 24
    下载次数
  • 2009-11-24 18:14
    上传日期
kittlerMet方法图像二值化,把RGB,灰度图,索引图等转化为二值图
kittlerMet.rar
  • kittlerMet.m
    1.8KB
内容介绍
function imagBW = kittlerMet(imag) % KITTLERMET binarizes a gray scale image 'imag' into a binary image % Input: % imag: the gray scale image, with black foreground(0), and white % background(255). % Output: % imagBW: the binary image of the gray scale image 'imag', with kittler's % minimum error thresholding algorithm. % Reference: % J. Kittler and J. Illingworth. Minimum Error Thresholding. Pattern % Recognition. 1986. 19(1):41-47 MAXD = 100000; imag = imag(:,:,1); [counts, x] = imhist(imag); % counts are the histogram. x is the intensity level. GradeI = length(x); % the resolusion of the intensity. i.e. 256 for uint8. J_t = zeros(GradeI, 1); % criterion function prob = counts ./ sum(counts); % Probability distribution meanT = x' * prob; % Total mean level of the picture % Initialization w0 = prob(1); % Probability of the first class miuK = 0; % First-order cumulative moments of the histogram up to the kth level. J_t(1) = MAXD; n = GradeI-1; for i = 1 : n w0 = w0 + prob(i+1); miuK = miuK + i * prob(i+1); % first-order cumulative moment if (w0 < eps) || (w0 > 1-eps) J_t(i+1) = MAXD; % T = i else miu1 = miuK / w0; miu2 = (meanT-miuK) / (1-w0); var1 = (((0 : i)'-miu1).^2)' * prob(1 : i+1); var1 = var1 / w0; % variance var2 = (((i+1 : n)'-miu2).^2)' * prob(i+2 : n+1); var2 = var2 / (1-w0); if var1 > eps && var2 > eps % in case of var1=0 or var2 =0 J_t(i+1) = 1+w0 * log(var1)+(1-w0) * log(var2)-2*w0*log(w0)-2*(1-w0)*log(1-w0); else J_t(i+1) = MAXD; end end end minJ = min(J_t); index = find(J_t == minJ); th = mean(index); th = (th-1)/n imagBW = im2bw(imag, th); % figure, imshow(imagBW), title('kittler binary');
评论
    相关推荐
    • codesforimageprocessing.rar
      实现简单图像处理,包括256色转灰度图、Hough变换、Walsh变换、中值滤波、二值化变换、亮度增减、傅立叶变换、反色、取对数、取指数、图像平移、图像旋转、图像细化、图像缩放、图像镜像、均值滤波、对比度拉伸、拉普拉斯锐化(边缘检测)、方块编码、梯度锐化、灰度均衡、直方图均衡、离散余弦变换、维纳滤波处理、逆滤波处理、阈值变换、高斯平滑。
    • matlab.rar
      基于MATLAB-GUI图形界面的数字图像处理软件 本系统设计基于GUI图形界面,用matlab语言编写代码,实现功能包括图象的读取、存储、显示、直方图均衡化、阈值化、小波分解、小波重构、加噪、去噪、平滑、锐化、边缘检测、图像分割等
    • OPENCV_SIFT_VC6.rar
      基于OPENCV的SIFT特征提取与匹配算法。包含完整的从图像高斯金字塔、DOG、空间极值点提取、关键点描述、KDtree匹配等关键步骤的全部函数实现,对全面深入理解Lowe的SIFT算法有莫大帮助。程序运行前须安装(1)OpenCV: http://opencvlibrary.sourceforge.net (2)SIFT: http://web.engr.oregonstate.edu/~hess/index.html,并配置其环境参数。
    • MATLAB_code_of_image_processing.rar
      该gui函数基本上包括图像处理里面的最基本处理,相当于一个小型photoshop。比如读取文件,几何变换中的垂直镜像,平移,旋转,缩放;正交变换的DFT,FFT,DCT,DST,DHT,DWashT;灰度处理中的反色,直方图均衡,全局线性变换,分段线性变换,指数非线性变换,对数非线性变换;图像增强里面的加噪声,平滑,锐化,伪彩色增强;图像分割里面的灰度阈值法,Robert,Laplace,sobel,prewitt,canny算子边缘检测法;图像恢复里面的直接逆滤波,维纳滤波;图像编码里面的霍夫曼编码,行程编码等等
    • bianyuan_jiance_bijiao.rar
      用六种算子(分别是gabor、拉普拉斯、priwitt、robert、sobel、wallis),对三种图象进行边缘检测比较,强烈推荐哦,是本人的毕业设计中的关键程序
    • 一维和二维小波变换的VC实现.rar
      小波算法在vc的具体实现.小波算法在图像处理,视频压缩,特征提取等领域有广泛应用,程序以灰度图像为数据分别演示了一维和二维小波变换,希望对大家有所帮助.谢谢!
    • thresold.rar
      基于小波变换阈值去噪的MATLAB源代码(包含小波包去噪程序)
    • HOG.rar
      基于HOG的行人检测,作者的源代码有错误,现代码已经进行了改变,并可以调试通
    • tuxiangzengqiang.rar
      本程序基于Matlab,初步实现图像增强的基本操作,实现 图像明暗度调整, 图像旋转,更改颜色显示方式,直接灰度调整,图像求反,动态范围压缩,显示原始图像直方图,直方图均衡化,滤波增强等功能
    • ImgSeg.rar
      哥们图像边缘检测与特征提取的毕业设计,包括全部经典算法,还有他自己的改进,VC6下测试通过。(这个改进我不是很懂,不要问我!:))