1. 批量裁剪图片,并且转化成指定尺寸的黑白图像(Matlab)

1. 批量裁剪图片,并且转化成指定尺寸的黑白图像(Matlab)。

代码如下:

tic;
clc;
clear;

% 1. 从文件夹中批量调取图片
inputFolder = '文件路径'; % 替换为包含图片的文件夹路径
outputFolder = '目标路径'; % 替换为保存处理后图片的文件夹路径

% 检查输出文件夹是否存在,如果不存在则创建
if ~exist(outputFolder, 'dir')
    mkdir(outputFolder);
end

% 获取输入文件夹中的所有图片文件
fileList = dir(fullfile(inputFolder, '*.jpg')); % 假设你的图片格式为 JPG,可以根据需要更改

% 2. 循环处理每张图片
for i = 1:length(fileList)
    % 读取图片
    imagePath = fullfile(inputFolder, fileList(i).name);
    originalImage = imread(imagePath);
    
%     % 3. 将图片转化成固定尺寸
%     targetSize = [188, 188]; % 替换为所需的尺寸
%     resizedImage = imresize(originalImage, targetSize);
    %从图片中心,裁剪指定尺寸
    targetSize = [188, 188]; % 替换为所需的尺寸
    [rows, cols, ~] = size(originalImage);
    cropX = max(1, floor((cols - targetSize(2)) / 2) + 1);
    cropY = max(1, floor((rows - targetSize(1)) / 2) + 1);
    croppedImage = imcrop(originalImage, [cropX, cropY, targetSize(2) - 1, targetSize(1) - 1]);
    
    
    % 4. 将图像转换成黑白图像
    grayImage = rgb2gray(croppedImage);
    
    % 5. 对图像进行无重复编号
    [~, imageName, ~] = fileparts(fileList(i).name);
    outputName = sprintf('%s_%d.jpg', imageName, i);
    
    % 保存处理后的图片到指定文件夹
    outputPath = fullfile(outputFolder, outputName);
    imwrite(grayImage, outputPath);
end

disp('处理完成!');

效果展示,如下:

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

AI小学僧

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

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

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

打赏作者

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

抵扣说明:

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

余额充值