Чтение изображений из папки по одному - PullRequest
0 голосов
/ 16 февраля 2012

У меня есть папка с различными изображениями. Я пытаюсь прочитать изображения в цикле из папки один за другим, используя команду imread, любое предложение, как это сделать лучше всего. Спасибо

Ответы [ 5 ]

1 голос
/ 16 февраля 2012
  • Вы можете использовать функцию dir, чтобы получить все файлы в каталоге.Это вернет вектор структур, который также включает имена файлов
  • цикл по всем структурам
  • проверка, является ли файл изображением (проверьте, например, расширение)
  • чтение изображения
0 голосов
/ 23 июня 2016
srcFiles = dir('C:\Users\Omm\Downloads\multicharacterrec\*.png');  % the folder in which ur images exists
for i = 1 : length(srcFiles)
    filename = strcat('C:\Users\Omm\Downloads\multicharacterrec\',srcFiles(i).name);
    I = imread(filename);
    figure, imshow(I);
0 голосов
/ 13 апреля 2015

хорошо, эта функция поможет вам читать много изображений одновременно даже с разными именами:

Сначала поместите все ваши изображения в папку, например: D: / lab /

они должнынапример, в том же формате: tif

для вызова набираемой вами функции:

A=imread_many(  );

и все изображения будут в переменной A

, если вы хотитепервое изображение, которое вы вводите A{1}, если хотите, второе, которое вы набираете A{2} ..etc

function [ A ] = imread_many(  )

  srcFiles = dir('D:\lab\*.tif');  % the folder in which ur images exists
 for i = 1 : length(srcFiles)
    filename = strcat('D:\lab\',srcFiles(i).name);
    A{i} = imread(filename);
    figure, imshow(A{i});
 end

end
0 голосов
/ 18 февраля 2012

Вы должны синхронизировать имена изображений для чтения в цикле.Они должны быть похожи на image1.jpg, image2.jpg, image3.jpg ... У вас есть 10 таких изображений.

NumberOfimages=10;       %chose the number of images you want to give input
prefix_image='image';    %change the desired input image name here only
fileformat='.jpg';       %change the desired input image format here only

for num=1:NumberOfimages
  image = imread(strcat(prefix_image,num2str(num),fileformat));
end
0 голосов
/ 16 февраля 2012

Это может помочь!

S = struct2cell(dir('*.jpg'));
FileNames = S(1,:);
lenDb = length(FileNames);

result= struct('img', {});

for j = 1 : lenDb


    result(j).img = imread(FileNames{j})
end

Все изображения в структуре "result.img"

Чтобы иметь доступ, просто вызовите результат (NUM) .img

Пример:

изображение (результат (1) .img)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...