利用直方图进行阈值分割matlab
时间: 2023-10-13 20:05:04 浏览: 395
在MATLAB中,可以使用imhist函数获取图像的直方图,然后使用imbinarize函数根据设定的阈值将图像二值化。
以下是一个示例代码:
```matlab
% 读取图像
img = imread('example.jpg');
% 计算直方图
hist = imhist(img);
% 显示直方图
figure;
stem(hist);
% 设定阈值
threshold = 100;
% 将图像二值化
binImg = imbinarize(img, threshold/255);
% 显示原图和二值化结果
figure;
subplot(1,2,1);
imshow(img);
title('Original Image');
subplot(1,2,2);
imshow(binImg);
title('Binary Image');
```
在上面的代码中,我们首先使用imhist函数计算图像的直方图,并用stem函数显示出来。然后我们设定一个阈值,将其除以255以将其归一化到0到1之间,然后使用imbinarize函数将图像二值化。最后我们将原图和二值化结果显示出来。
你可以根据自己的需要修改阈值,来得到不同的二值化结果。
相关问题
matlab直方图自动阈值法图像分割代码
以下是基于直方图自动阈值法的MATLAB图像分割代码:
```matlab
clc;clear;close all;
% 读入原始图像
I = imread('lena.jpg');
% 将图像转为灰度图像
I = rgb2gray(I);
% 直方图均衡化
I = histeq(I);
% 计算图像直方图
[counts, bins] = imhist(I);
% 直方图自动阈值法
T = otsuthresh(counts);
% 对图像进行二值化处理
BW = imbinarize(I, T);
% 显示原始图像及分割后的图像
figure;
subplot(121);imshow(I);title('原始图像');
subplot(122);imshow(BW);title('分割后的图像');
```
代码中,首先读入一张原始图像,并将其转换为灰度图像,然后对图像进行直方图均衡化,利用`imhist`函数计算图像直方图,再利用`otsuthresh`函数求出直方图自动阈值,最后利用`imbinarize`函数对图像进行二值化处理,得到分割后的图像。
使用matlab读出一幅灰度图像,得到图像的直方图,根据直方图选取阈值对图像进行阈值分割。再用大津法对图像进行阈值分割。将分割出的目标用原来的彩色显示。
以下是使用Matlab实现读取灰度图像、计算直方图、阈值分割和彩色显示的代码。其中使用了imhist、imread、im2bw和ind2rgb等Matlab自带函数。代码中注释对应的是代码执行的步骤:
```matlab
% 读取灰度图像
I_gray = imread('lena_gray.jpg');
% 显示灰度图像
figure();
imshow(I_gray);
title('灰度图像');
% 计算灰度图像的直方图
figure();
imhist(I_gray);
title('灰度图像直方图');
% 根据直方图选取阈值进行阈值分割
thresh = 100; % 选取阈值
I_bw = im2bw(I_gray, thresh/255); % 阈值分割
% 显示二值化图像
figure();
imshow(I_bw);
title(['阈值分割二值化图像(阈值:', num2str(thresh), ')']);
% 使用大津法进行阈值分割
level = graythresh(I_gray);
I_bw2 = im2bw(I_gray, level); % 阈值分割
% 显示二值化图像
figure();
imshow(I_bw2);
title(['大津法阈值分割二值化图像(阈值:', num2str(level), ')']);
% 将分割出的目标用原来的彩色显示
I_rgb = imread('lena_color.jpg');
I_color = ind2rgb(I_bw, I_rgb); % 彩色显示
% 显示彩色图像
figure();
imshow(I_color);
title('阈值分割彩色图像');
I_color2 = ind2rgb(I_bw2, I_rgb); % 彩色显示
% 显示彩色图像
figure();
imshow(I_color2);
title('大津法阈值分割彩色图像');
```
执行以上代码后,会分别弹出五个图像窗口,分别是原始灰度图像、灰度图像直方图、阈值分割二值化图像、大津法阈值分割二值化图像和阈值分割彩色图像/大津法阈值分割彩色图像。
阅读全文