在MATLAB中,处理灰度图像是一项常见的任务。以下是一些实用的MATLAB语句,用于灰度图像处理。这些语句可以帮助你进行图像的读取、显示、转换、滤波、边缘检测、形态学操作等。
图像读取与显示
% 读取灰度图像
img = imread('image.png');
% 显示图像
imshow(img);
% 显示图像并添加标题
imshow(img);
title('灰度图像');
图像转换
% 转换为灰度图像
grayImg = rgb2gray(img);
% 转换为双精度格式
doubleImg = im2double(grayImg);
% 转换为二值图像
bwImg = imbinarize(grayImg);
图像滤波
% 中值滤波
filteredImg = medfilt2(grayImg);
% 高斯滤波
filteredImg = imfilter(grayImg, fspecial('gaussian', [5 5], 1));
% 均值滤波
filteredImg = imfilter(grayImg, fspecial('average', [5 5]));
边缘检测
% Sobel算子边缘检测
sobelx = fspecial('sobel');
sobely = fspecial('sobel');
gradMag = sqrt(sobelx.^2 + sobely.^2);
gradAng = atan2(sobely, sobelx);
% Canny边缘检测
edges = edge(grayImg, 'canny');
形态学操作
% 侵蚀操作
erodedImg = imerode(grayImg, strel('disk', 3));
% 腐蚀操作
dilatedImg = imdilate(grayImg, strel('disk', 3));
% 开运算
openImg = imopen(grayImg, strel('disk', 3));
% 闭运算
closeImg = imclose(grayImg, strel('disk', 3));
图像分割
% Otsu二值化
bwImg = imbinarize(grayImg, 'otsu');
% 区域生长
labels = bwlabel(bwImg);
regionprops(labels, 'Area');
图像增强
% 直方图均衡化
equalizedImg = histeq(grayImg);
% 对比度增强
enhancedImg = adapthisteq(grayImg);
图像保存
% 保存图像
imwrite(grayImg, 'processed_image.png');
以上是一些常用的MATLAB灰度图像处理语句。通过这些语句,你可以轻松地对灰度图像进行各种操作。希望这个速查指南能帮助你更高效地处理图像。
