完整代码:
%清除变量、图形窗口
clear all;
close all;
clc;
%读取原图转换为灰度图并展示
i1=imread('福建舰.jpg');
figure,imshow(i1);
i2=rgb2gray(i1);
figure,imshow(i2);
%获取图像信息,确定划分阈值
a=size(i1);%获取原始图像的大小(行数、列数和通道数)
b=size(i2);%获取灰度图像的大小(行数、列数)
i2_max=double(max(max(i2))); %获取亮度最大值
i2_min=double(min(min(i2))); %获取亮度最小值
thresh=round(i2_max-((i2_max-i2_min)/3));% 计算阈值,用于提取图像
i3=(i2>=thresh);% 根据阈值提取图像
figure,imshow(i3);
% 将提取后的图像旋转 90 度,使用双线性插值方法
j=imrotate(i3,90,'bilinear');
figure,imshow(j);
%总体展示
figure,
subplot(2,2,1),imshow(i1),title('原图');
subplot(2,2,2),imshow(i3),title('提取图像');
subplot(2,2,3),imshow(j),title('竖直提取图');
测量图像:
提取效果图: