如何标记图像直方图阈值?
8视图(30天)
显示旧的评论
接受的答案
图像分析
2023年1月23日
%演示图像分析
clc;%清除命令窗口。
关闭所有;%关闭所有数据(除了imtool。)
清晰;%擦掉所有现有的变量。或者clearvars如果你想要的。
工作空间;%确定工作区面板显示。
格式长g;
格式紧凑的;
字形大小= 22;
markerSize = 40;
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
%读入图像
文件夹= [];
baseFileName =“cameraman.tif”;
fullFileName = fullfile(文件夹,baseFileName);
%检查文件是否存在。
如果~存在(fullFileName“文件”)
%的文件不存在,没有找到它在该文件夹。
%检查整个搜索路径(其他文件夹)去掉文件的文件夹。
fullFileNameOnSearchPath = baseFileName;%没有路径。
如果~存在(fullFileNameOnSearchPath“文件”)
%仍然没有找到它。提醒用户。
errorMessage = sprintf (的错误:% s在搜索路径的文件夹不存在。,fullFileName);
uiwait (warndlg (errorMessage));
返回;
结束
结束
grayImage = imread (fullFileName);
%得到图像的尺寸。
% numberOfColorChannels应该为灰度图像,= 1和3的RGB彩色图像。
(行、列,numberOfColorChannels) =大小(grayImage)
如果numberOfColorChannels > 1
%这不是灰度像我们预期的颜色。
流(“这不是真正的灰度像我们预期——这是颜色\ n”);
%提取蓝色通道。
grayImage = rgb2gray (grayImage);
结束
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
%显示图像。
次要情节(2,1,1);
imshow (grayImage);
impixelinfo;
轴(“上”,“图像”);
标题(的原始灰度图像,“字形大小”字形大小,“翻译”,“没有”);
%更新图片的尺寸。
% numberOfColorChannels应该为灰度图像,= 1和3的RGB彩色图像。
(行、列,numberOfColorChannels) =大小(grayImage)
%最大化窗口。
g = gcf;
g。WindowState =“最大化”;
drawnow;
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
%得到阈值
阈值= 255 * graythresh (grayImage);
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
%显示柱状图
次要情节(2,1,2);
imhist (grayImage);
网格在;
参照线(阈值,“颜色”,“r”,“线宽”,2)
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
%显示直方图阈值。
标题= sprintf (%的直方图的阈值。一层灰色的水平的阈值);
标题(标题,“字形大小”字形大小)