【Matlab】-- 图片局部放大代码

在这里插入图片描述
文章目录

00 写在前面

在超分任务、医学图像重建、图片生成等等任务中,经常需要用到局部放大图,来观察网络的重建效果。

以下给出了基于matlab的局部图片放大代码,并对开头的图像进行放大。

01 基于Matlab的局部图片放大代码

%% 读取待放大图像
clc;clear;close all;
im = imread('Figure3.png');
% im = imread('t2star_layer11_w_dy.bmp');

%% 在图像中局部显示矩形框
X    = 160; %矩形框左上角的横坐标   
Y    = 160; %矩形框左上角的纵坐标
dX   = 80;    
dY   = 80;  

% X    = 160; %矩形框左上角的横坐标   
% Y    = 240; %矩形框左上角的纵坐标
% dX   = 80;    
% dY   = 80;  

bbox = [X, Y, dX, dY];
im_1 = insertShape(im, 'Rectangle', bbox, 'LineWidth', 2, 'Color', 'red');

%% 裁剪和局部并插值放大
scale     = 1.8;
im_crop   = imcrop(im, bbox); 
im_crop_b = imresize(im_crop, scale, 'bicubic'); 

%% 局部显示
[row_1, col_1, ~]                     = size(im);
[row_2, col_2, ~]                     = size(im_crop_b);
im_2                                  = im_1;

% 局部放大图放在左下角
im_2(row_1-row_2+1:col_1, 1:col_2, :) = im_crop_b;
bbox  = [1,row_1-row_2+1,col_2,row_2];

% 局部放大图放在右下角
% im_2(row_1-row_2+1:col_1, col_1-col_2+1:row_1, :) = im_crop_b;
% bbox  = [col_1-col_2+1,row_1-row_2+1,col_2,row_2];

im_2  = insertShape(im_2, 'Rectangle', bbox, 'LineWidth', 1, 'Color', 'w');
figure;imshow(im_2);
% figure;imshow(im_crop_b);

%% 保存为.PNG格式文件
% imwrite(im_2,'layer14s_local.png');

02 放大效果图

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值