商品交易网站建设论文,做网站好的品牌,下载应用的app,搜索关键词排名提升OTSU
在前面固定阈值中选取了一个阈值为127进行阈值分割#xff0c;那如何知道选的这个阈值效果好不好呢#xff1f;答案是#xff1a;不断尝试#xff0c;所以这种方法在很多文献中都被称为经验阈值。
Otsu阈值法就提供了一种自动高效的二值化方法。Otsu算法也称最大类间…OTSU
在前面固定阈值中选取了一个阈值为127进行阈值分割那如何知道选的这个阈值效果好不好呢答案是不断尝试所以这种方法在很多文献中都被称为经验阈值。
Otsu阈值法就提供了一种自动高效的二值化方法。Otsu算法也称最大类间差法有时也称之为大津算法由大津于1979年提出被认为是图像分割中阈值选取的最佳算法。其算法计算简单不受图像亮度和对比度的影响因此在数字图像处理上得到了广泛的应用。它是按图像的灰度特性将图像分成背景和前景两部分。因方差是灰度分布均匀性的一种度量背景和前景之间的类间方差越大说明构成图像的两部分的差别越大当部分前景错分为背景或部分背景错分为前景都会导致两部分差别变小。因此使类间方差最大分割意味着错分概率最小。Otsu阈值分割方法选择使得类间方差最大的值作为阈值设图像的归一化直方图为p亮度阶为k例如元素值取0~255则k256。
示例代码
作者liutangplease
链接https://www.zhihu.com/question/362086374/answer/2654724809
来源知乎
著作权归作者所有。商业转载请联系作者获得授权非商业转载请注明出处。filenameE:\learning\机器视觉\machinevision\saidao.jpg;
rgb imread(filename);
gray rgb2gray(rgb);%转换为灰度图
gray_max max(max(gray));
gray_min min(min(gray));
gray_list gray_min : gray_max;%阈值范围
ISIZE size(gray);%图像大小
pixel_all ISIZE(1) * ISIZE(2);%总像素个数
Tmp 0;%存放类间方差
threshold 0;%存放阈值for i 1 : length(gray_list) %从MIN到MAXgray_value gray_list(1,i);pixel_front 0;%前景像素个数pixel_back 0;%背景像素个数gray_front 0;%前景总灰度gray_back 0;%背景总灰度for j 1 : ISIZE(1)for k1 : ISIZE(2)pixelgray gray(j,k);if(pixelgray gray_value)pixel_front pixel_front1;gray_front gray_front double(pixelgray);elsepixel_back pixel_back1;gray_back gray_backdouble(pixelgray);endendendw0 pixel_front/pixel_all;%前景点数比例w1 pixel_back/pixel_all;%背景点数比例u0 gray_front/pixel_front;%前景点数平均灰度u1 gray_back/pixel_back;%背景点数平均灰度u (gray_frontgray_back)/pixel_all;%图像总平均灰度tmp w0*(u0-u)*(u0-u) w1*(u1-u)*(u1-u);if(Tmp tmp)threshold gray_value;Tmp tmp;end
end%二值化
black_and_white gray;
for j 1:ISIZE(1)for k 1:ISIZE(2)if(black_and_white(j,k) threshold)black_and_white(j,k) 255;elseblack_and_white(j,k) 0;endend
endlevel graythresh(gray);
imgbw im2bw(gray,level);level2double(threshold)/255;
imgbw2 im2bw(gray,level2);subplot(221); imshow(gray);
subplot(222); imshow(black_and_white);
subplot(223); imshow(imgbw);
subplot(224); imshow(imgbw2); 效果图片