subplot 真正含义

subplot 真正含义

在matplotlib模块中经常出现subplot(111),一开始不清楚这句话什么意识

t=arange(0,1,0.001)
y1=sin(10*t);
y2=sin(15*t);
y3=t
y4=2*t
y5=t**2
y6=cos(t)
subplot(231)  #把画布分成2*3的格子,把Y1放在第一格
plot(t,y1)
subplot(232)#把画布分成2*3的格子,把Y2放在第2格
plot(t,y2)
subplot(233)#把画布分成2*3的格子,把Y3放在第3格
plot(t,y3)
subplot(234)#把画布分成2*3的格子,把Y4放在第4格
plot(t,y4)
subplot(235)#把画布分成2*3的格子,把Y5放在第5格
plot(t,y5)
subplot(236)#把画布分成2*3的格子,把Y6放在第6格
plot(t,y6)

subplot(111) #从数学上来讲,把画布分成1*1 的格子。把图形放在第1格.也是唯一的一格,only you

#subplot(111)执行完以后,没有任何直观上的反应,它只是促使figure在下次调用绘图命令之前执行清空图形命令clf reset,接着创建一个默认坐标系。

clear all; close all; clc; % 1. 读取并转换图像 Image1 = im2double(imread('peppers.png')); % 使用内置图像代替lotus.bmp gray = rgb2gray(Image1); figure('Name','原始图像与灰度图'); subplot(121), imshow(Image1), title('原始彩色图像'); subplot(122), imshow(gray), title('灰度图像'); % 2. 统计并显示灰度直方图 figure('Name','灰度直方图'); imhist(gray); title('灰度直方图'); % 3. 分段线性变换(自定义参数) a = 0.2; b = 0.5; c = 0.1; d = 0.9; % 自定义分段点 NewImage1 = piecewiseLinearTransform(gray, a, b, c, d); figure('Name','分段线性变换'); imshow(NewImage1), title(['分段点: [' num2str(a) ',' num2str(b) '] 映射到 [' num2str(c) ',' num2str(d) ']']); % 4. 直方图均衡化(增加对比度) NewImage2 = histeq(gray, 256); % 指定256灰度级 figure('Name','直方图均衡化'); subplot(121), imshow(gray), title('原始灰度'); subplot(122), imshow(NewImage2), title('直方图均衡化'); % 5. 彩虹编码伪彩色增强 NewImage3 = rainbowColorMap(gray); figure('Name','彩虹伪彩色增强'); imshow(NewImage3), title('彩虹伪彩色'); % 6. 噪声添加与平滑(增加均值滤波对比) % 添加噪声 noiseI_sp = imnoise(gray, 'salt & pepper', 0.15); % 增加噪声密度 noiseI_g = imnoise(gray, 'gaussian', 0, 0.03); % 增加方差 % 中值滤波 result_sp_med = medfilt2(noiseI_sp, [5 5]); % 增大滤波器尺寸 result_g_med = medfilt2(noiseI_g, [5 5]); % 均值滤波(对比) h_avg = fspecial('average', [5 5]); result_sp_avg = imfilter(noiseI_sp, h_avg); result_g_avg = imfilter(noiseI_g, h_avg); % 显示结果 figure('Name','噪声与滤波'); subplot(241), imshow(noiseI_sp), title('椒盐噪声 (15%)'); subplot(242), imshow(result_sp_med), title('中值滤波 5x5'); subplot(243), imshow(result_sp_avg), title('均值滤波 5x5'); subplot(244), imhist(noiseI_sp), axis tight, title('椒盐噪声直方图'); subplot(245), imshow(noiseI_g), title('高斯噪声 (var=0.03)'); subplot(246), imshow(result_g_med), title('中值滤波 5x5'); subplot(247), imshow(result_g_avg), title('均值滤波 5x5'); subplot(248), imhist(noiseI_g), axis tight, title('高斯噪声直方图'); % 7. Sobel锐化(增强实现) Image1 = im2double(imread('peppers.png')); gray = rgb2gray(Image1); % 2. Prewitt锐化(增强实现) [sharpened, gradient] = prewittSharpening(gray, 1.5); % 增强因子设为1.5 % 3. 显示结果 figure('Name','Prewitt锐化效果'); subplot(131), imshow(gray), title('原始图像'); subplot(132), imshow(gradient), title('Prewitt梯度'); subplot(133), imshow(sharpened), title('锐化图像 (k=1.5)'); 解释每一行代码
10-31
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值