Matlab图片预处理——截取图片中有效部分保存在其余文件夹下

1.目的

医学图像处理中,需要将医学图像中非病理图像的平台操作页面截掉,只保留病理图片。

2.多文件夹代码

Matlab文件

clear;  % 清除Workspace中的所有变量(右侧工作区)
clc;    % Command Window中的所有命令(命令行窗口)
close all;

% 使用dir打开当前文件夹下的文件,将其文件作为列表传入folder_list中
folder_list = dir("甲状腺恶性结节");
folder_len = length(folder_list);

for i = 3:folder_len  %matlab索引是从1开始的,使用dir打开文件列表,前面会出现...连个空文件夹,所以都是从3开始遍历文件列表
   
    file_list = dir(fullfile("甲状腺恶性结节", folder_list(i).name));  % fullfile构成地址字符串
    file_len = length(file_list);   % 获取该文件夹下的图片个数
    % display(folder_list(i).name)  % 打印文件夹名称
    for j = 3:file_len   % 这里也是dir打开文件会有两个...两个空文件
        display(file_list(j).name);   
        I = imread(fullfile("甲状腺恶性结节", folder_list(i).name, file_list(j).name));  % imread根据文件名filename读取灰度获彩色图像
        [A, rect] = imcrop(I);      % imcrop是一个函数,在MATLAB中,该函数用于返回图像的一个裁剪区域
        %rect返回的是图片剪裁的位置,A为剪裁后的图像
        %imshow(A) 
        A_gray = rgb2gray(A);   %A图像转化为灰度图
        if exist(fullfile("save_images",folder_list(i).name), "dir")  % 检查文件地址是否存在,存在就pass,否则就创建save_images/floder_list文件夹
            display("Pass")
        else
            mkdir(fullfile("save_images",folder_list(i).name));
        end    
        imwrite(A_gray, fullfile("save_images",folder_list(i).name, file_list(j).name))   % imwrite(A,filename) 将图像数据 A 写入 filename 指定的文件,并从扩展名推断出文件格式
    end
end

3.单文件夹代码

Mtalab文件

clear;
clc;
close all;

file_list = dir("甲状腺恶性 (4)");
file_len = length(file_list);

for i = 3:file_len
    display(file_list(i).name);
    I = imread(fullfile("甲状腺恶性 (4)",file_list(i).name));
    A = imcrop(I);
    A_gray = rgb2gray(A);
     if exist("save_imagesXX", "dir")  % 检查文件地址是否存在,存在就pass,否则就创建save_images/floder_list文件夹
            display("Pass");
     else
            mkdir("save_imagesXX");
     end
    imwrite(A_gray, fullfile("save_imagesXX", file_list(i).name))   
end

matlab索引是从1开始的,使用dir打开文件列表,前面会出现.和…连个空文件夹,所以都是从3开始遍历文
imcrop是一个函数,在MATLAB中,该函数用于返回图像的一个裁剪区域
imshow(A) 展示图像
rgb2gray(A) 将图像转化为灰度图
% imwrite(A,filename) 将图像数据 A 写入 filename 指定的文件,并从扩展名推断出文件格式

操作:
使用图像出来后,用鼠标框住,双击保存即可

4.效果图

前:
在这里插入图片描述
后:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Philo`

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值