matlab或python局部放大图像,和折线图,显示在同一个图中

局部放大图像图,表示效果图

局部放大折线图操作

1.在matlab中figure(窗口名字),plot(画图),grid(是否显示网格)等一系列操作,总之至少你要显示一个图表出来
2.在弹出的figure窗口(图现在窗口内)中进行操作,接下来,点击“查看—>属性编辑器”,出现下面字样。=======重点说一下几个属性:

  • x轴:x轴范围可以自己手动改(代码就是随便写,只要能显示图像就行);x标签可以自己手动改;
  • y轴:同上3.后面有个

3.后面有个“刻度”按钮,直接按照自己的喜好调节x,y轴的间隔
在这里插入图片描述
在这里插入图片描述
4.重点。在figure窗口的图表鼠标点中,然后原地粘贴复制(Ctrl+c, Ctrl+v)。这样就有两份了,你需要鼠标选择表层上的第一个进行随意拖拽就有两个图了。
在这里插入图片描述
5.对复制出的图进行“局部放大”。其实就是用第2,3步的操作,显示你要的部分(x,y的范围)。然后稍微拖拽一下对角线,调整到满意大小。最后将小的图拖到原图上,“局部放大”基本完成。
在这里插入图片描述
6. 为了是局部放大开起来更真,“更直观”,可以在figure窗口点击“插入—>箭头”,“插入—>矩形”,加入让箭头,矩形,让图看起是被局部选中加放大。
7. 将窗口另存为png,emf等可以用的格式就行了,或者直接截图。
8. 最后,说一点:对于坐标轴名字,图标的名字,都可以直接双击然后原地修改

局部放大图像原理

选中要放大的区域,然后将其放大,最后再替换原图

代码前者折线图,后者图像

clear all
% load('limit_svgdl.mat', 'j')
j = [0.0, 23.6653, 35.1271, 41.1653, 48.8506, 53.2998, 56.2606, 59.1578, 60.2568, 62.3354, 65.2142, 66.2097, 67.4089, 69.8567, 73.191, 74.0361, 74.8197, 75.6324, 76.5611, 77.7686, 78.4563, 78.2097, 78.9903, 79.856, 79.696, 80.0371, 80.8107, 81.3294, 82.8443, 81.054, 82.3888, 82.3517, 82.0127, 81.9862, 81.5731, 83.0455, 83.4746, 83.5964, 83.4269, 83.5487, 83.66, 83.2097, 84.1049, 83.3739, 83.893, 84.036, 83.5117, 83.9354, 83.1621, 84.4386, 84.6663, 84.0466, 84.4968, 84.5551, 84.2691, 84.8623, 85.2701, 84.5074, 84.7792, 84.9874, 85.0412, 85.3547, 85.0187, 85.3869, 85.7767, 85.9435, 86.4746, 86.5914, 86.8826, 85.8483, 85.9412, 85.8547, 86.0187, 86.3869, 86.7767, 86.9435, 85.4746, 86.5914, 86.8826, 85.9483, 86.66, 87.016, 87.1124, 87.3543, 87.5513, 87.8764, 87.9012, 86.6896, 87.1873, 87.9025, 88.1674, 88.2468, 88.5117, 88.2309, 88.554, 88.3422, 88.3369, 88.4322, 88.358, 88.3951, 88.3051, 88.2786, 88.411, 88.3845, 88.3792, 88.3845, 88.2521, 88.4587, 88.4216, 88.321, 88.4852, 88.3422, 88.3475, 88.3422, 88.5328, 88.2786, 88.4428, 88.3686, 88.2468, 88.3633, 88.2998;
    0.0, 37.4523, 51.3983, 57.7754, 64.0837, 62.786, 67.108, 71.875, 72.9555, 75.1059, 74.9311, 76.8326, 78.411, 78.0508, 78.7235, 79.3538, 79.2903, 80.9958, 81.536, 80.6303, 81.4036, 82.7383, 83.7341, 82.4576, 82.5636, 83.9566, 83.4799, 84.2797, 83.4905, 84.8835, 84.1367, 85.6886, 84.7669, 84.6557, 85.3072, 83.75, 85.3708, 85.2172, 85.4131, 84.714, 85.7362, 85.3337, 85.4025, 85.7468, 85.4449, 84.9576, 86.1229, 85.9534, 85.9746, 86.3347, 86.1229, 86.3083, 84.714, 85.2066, 85.9004, 86.2076, 86.3242, 85.2172, 86.16, 86.4725, 86.7691, 88.321, 88.9036, 88.4481, 88.7288, 89.0678, 88.7977, 88.7659, 88.8559, 89.0201, 89.0572, 88.7447, 88.8877, 89.0413, 89.2002, 88.8136, 89.1208, 89.0148, 88.9407, 88.9566, 89.2002, 88.84, 88.983, 88.9943, 88.9967, 89.087, 89.1283, 88.1988, 89.2267, 89.5657, 89.5816, 89.6345, 89.714, 89.6451, 89.6557, 89.5233, 89.6716, 89.7405, 89.5021, 89.5074, 89.6981, 89.7193, 89.608, 89.6769, 89.7987, 89.6875, 89.4068, 89.5498, 89.6769, 89.6663, 89.5392, 89.608, 89.6504, 89.7193, 89.7511, 89.5392, 89.5657, 89.661, 89.6451, 89.7987, 89.661;
    0.0, 37.1081, 53.9407, 64.089, 67.5583, 66.928, 73.1515, 73.7924, 76.7373, 78.0455, 78.9989, 79.3081, 79.8407, 80.189, 80.6583, 81.928, 82.1515, 82.7924, 82.9373, 83.4455, 83.9989, 84.4343, 83.7871, 83.84, 85.5403, 85.4926, 85.9163, 86.8326, 87.1239, 86.822, 85.3496, 86.822, 87.4894, 87.0233, 87.7913, 87.1028, 87.9555, 87.7225, 87.8178, 88.0561, 87.9237, 87.9343, 88.3157, 88.7023, 87.7542, 88.554, 88.7129, 88.7977, 88.321, 89.1472, 88.6811, 88.7288, 88.8083, 89.0717, 89.643, 89.5742, 89.5593, 89.5688, 90.3464, 90.4047, 90.4847, 90.6806, 90.6749, 90.6465, 90.7013, 90.99, 90.9853, 91.05, 91.1706, 91.1579, 91.269, 91.59, 91.733, 91.6801, 91.59, 91.733, 91.6801, 91.59, 91.733, 91.9801, 92.0269, 91.59, 91.733, 91.8801, 91.99, 92.4733, 92.6801, 92.29, 92.304, 92.3676, 92.4311, 92.6218, 92.6324, 92.4894, 92.6218, 92.6377, 92.6165, 92.5106, 92.6589, 92.5212, 92.7172, 92.643, 92.5742, 92.5583, 92.5689, 92.7346, 92.8404, 92.8404, 92.96, 93.4674, 93.0616, 93.5701, 93.259, 92.6536, 92.9003, 93.7066, 92.8794, 93.6907, 93.59, 93.733, 92.9801;
    0.0, 40.482, 59.4333, 64.5869, 72.3994, 73.1144, 76.2712, 78.0032, 80.2913, 81.054, 80.3549, 82.5318, 82.7595, 83.6739, 84.1367, 84.3008, 85.572, 84.5021, 85.4131, 85.1536, 85.7362, 85.6303, 86.25, 86.5996, 87.0392, 86.6684, 87.0339, 87.8761, 86.9862, 88.0085, 87.982, 87.7966, 88.2733, 88.7394, 87.5, 87.8128, 87.9953, 88.8768, 88.9864, 88.4055, 88.998, 89.1956, 89.2743, 88.7324, 89.5005, 89.8123, 89.9973, 89.8728, 90.3866, 90.4025, 90.458, 90.7936, 90.9992, 90.7395, 91.0005, 91.4121, 90.9943, 90.8718, 90.1834, 91.0055, 90.9987, 91.7966, 90.2733, 91.7394, 91.2097, 91.8121, 91.9913, 90.9768, 91.9864, 91.4055, 91.998, 92.0966, 92.2733, 92.1394, 91.9097, 92.2121, 91.9913, 90.9768, 91.9864, 91.4055, 91.998, 92.0966, 92.2733, 92.1394, 92.3097, 92.3121, 91.9913, 91.9768, 92.3146, 92.3199, 92.1663, 92.3305, 92.4153, 92.4258, 92.4788, 92.3994, 92.5, 92.4894, 92.357, 92.5212, 92.3517, 92.3464, 92.2987, 92.3729, 92.3464, 92.4311, 92.3782, 92.3464, 92.3623, 92.447, 92.5053, 92.5742, 92.4788, 92.3358, 92.4258, 92.5, 92.2722, 92.2881, 92.4047, 92.3835, 92.4947;
    0.0, 41.9968, 53.321, 63.9883, 69.1314, 73.6176, 75.5773, 75.2489, 79.0519, 76.5413, 79.6345, 80.0318, 81.3242, 80.8792, 82.5636, 83.3792, 82.7648, 83.6917, 85.233, 85.1324, 85.1483, 85.6091, 86.0381, 85.678, 85.6038, 86.2871, 86.785, 86.4619, 87.3093, 87.3411, 87.1398, 87.2014, 87.2167, 87.1398, 87.4221, 87.4123, 87.3678, 87.3918, 87.4398, 87.5211, 87.5423, 87.5519, 87.5832, 87.5901, 87.6542, 87.6631, 87.7302, 87.881, 87.6729, 87.9401, 87.9813, 87.9968, 88.321, 88.391, 88.4132, 88.4091, 88.5641, 88.6645, 88.8874, 89.3452, 89.2315, 89.4567, 89.4325, 89.8923, 90.0862, 90.1564, 90.2678, 90.3568, 90.8854, 90.8965, 90.8568, 90.9623, 90.9986, 91.0612, 91.0814, 91.2312, 91.1223, 91.0987, 91.2565, 91.2235, 91.1157, 91.1132, 91.1922, 91.1353, 91.2981, 91.321, 91.433, 91.336, 91.4672, 91.3824, 91.3983, 91.2288, 91.6578, 91.5254, 91.536, 91.5572, 91.3771, 91.6314, 91.4142, 91.4301, 91.446, 91.0, 91.6684, 91.5413, 91.6419, 91.4619, 91.5413, 91.6472, 91.6102, 91.6155, 91.6684, 91.6578, 91.6419, 91.6578, 91.6737, 91.6049, 91.5837, 91.6261, 91.7161, 91.5784, 91.5466;];
    
[m,n]=size(j);
x=[];
for i=0:121
    if i%10==0
        x(i)=i;
    end
end
x1=x;
figure(10)  % 窗口名字为 10
% plot参数对应啥意思,百度 
y1=plot(x1,j(1,:),'-r','LineWidth',1,...
                       'MarkerEdgeColor','b',...
                       'MarkerFaceColor','none',...
                       'MarkerSize',8);
                %    legend('FDDL');
                   hold on
y2=plot(x1,j(2,:),'-g','LineWidth',1,...
                       'MarkerEdgeColor','g',...
                       'MarkerFaceColor','none',...
                       'MarkerSize',8) ;   
                %    legend('SVGDL') ;
                   hold on                   
 y3=plot(x1,j(3,:),'-m','LineWidth',1,...
                       'MarkerEdgeColor','r',...
                       'MarkerFaceColor','none',...
                       'MarkerSize',8)   ; 
                 %   legend('KSVD')  ;
                   hold on       
         
  y4=plot(x1,j(4,:),'-k','LineWidth',1,...
                       'MarkerEdgeColor','k',...
                       'MarkerFaceColor','none',...
                       'MarkerSize',8);  
                 %   legend('SRC');
                   hold on
   y5=plot(x1,j(5,:),'-b','LineWidth',1,...
                       'MarkerEdgeColor','m',...
                       'MarkerFaceColor','none',...
                       'MarkerSize',8);  
                  % legend('SRC');
                   hold on
            
 y=[y1,y2,y3,y4,y5];
 ylabel( '识别准确率/%' );
 xlabel('迭代次数/次')
legend('\lambda=0.01','\lambda=0.1','\lambda=1','\lambda=10','\lambda=100')

 grid off % 不显示网格
clear ;
clc;
path=”需要放大的图片路径.png“;
pic_local_upscale(path,[820 370 200 80],3)  % 起点位置,方框大小
function pic_local_upscale(img_path,corp,upscale)
    % 将原图,和裁剪的图放在一个窗口,但是裁剪放大图放在原来的图上
    % corp:[x,y,w,h](裁剪区域大小)
    % upscale:2 (裁剪区域放大倍数,一般取1.5或者2)
    figure;
    img_name = strsplit(img_path,'\');
    img_name = char(img_name(end));
    set(gcf,'name',img_name);
    img=imread(img_path);                                   %读入图像
    rect = corp;
    img_srop=imcrop(img,rect);                              %进行图像剪切
    img_scale=imresize(img_srop,upscale,'bicubic');         %裁剪区域放大,用bicubic方法
    imgSize = size(img);                                    %原图大小
    scale_size=size(img_scale);                             %裁剪区域放大后的大小
    % 把crop区域放大后,去替换原图crop大小的区域
    img(imgSize(1)-scale_size(1):1:imgSize(1)-1,imgSize(2)-scale_size(2):1:imgSize(2)-1,1:1:scale_size(3))=img_scale(1:1:scale_size(1),1:1:scale_size(2),1:1:scale_size(3));
    imshow(img,'border','tight');
    rectangle('Position',rect,'LineWidth',2,'EdgeColor','r'); %显示图像剪切区域
%     title(img_name)
    %% 保存图像
%     imwrite(img,fullfile(save_path,img_name));
end
  • 2
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值