matlab对灰度图像进行处理并获取概率密度

该文展示了如何使用MATLAB进行图像处理,包括读取图像、转换为灰度、高斯滤波以降噪,接着应用Canny算法进行边缘检测,并通过imhist展示灰度值密度分布。
摘要由CSDN通过智能技术生成
% 选择图像文件并读取图像
[filename, pathname] = uigetfile({'*.bmp;*.gif;*.jpg;*.png;*.tif','所有支持的图像文件'}, '选择图像文件');
I = imread(fullfile(pathname, filename));

% 将图像转换为灰度图像
if size(I, 3) == 3
    I_gray = rgb2gray(I);
else
    I_gray = I;
end

% 对灰度图像进行高斯滤波,以减少图像中的噪声
I_gauss = imgaussfilt(I_gray, 2);

% 对灰度图像进行边缘检测,以突出图像中的特定特征
I_edges = edge(I_gauss, 'Canny');

% 计算灰度值密度
[counts, bins] = imhist(I_gray);

% 显示原始图像、处理后的图像和灰度值密度图
subplot(1, 3, 1), imshow(I_gray), title('原始图像');
subplot(1, 3, 2), imshow(I_edges), title('边缘检测后的图像');
subplot(1, 3, 3), bar(bins, counts), title('灰度值密度');

%第1行:使用 uigetfile 函数打开文件对话框,让用户选择图像文件。
第2行:使用 fullfile 函数将文件名和路径名组合成完整的路径。
第4-8行:如果图像是彩色图像,则使用 rgb2gray 函数将其转换为灰度图像;否则直接使用灰度图像。
第11-14行的代码与之前相同。
第17-20行:使用 subplot、imshow 和 bar 函数显示原始图像、处理后的图像和灰度值密度图。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值