Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.50/18: Рейтинг темы: голосов - 18, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 23.04.2015
Сообщений: 31

Представить серию (порядка 300) изображений в виде матрицы

23.04.2015, 01:51. Показов 3491. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как представить серию (порядка 300) изображений в виде матрицы? А конкретно нужно представить каждое изображение в виде вектора- столбца и соединить все столбцы в матрицу. Должна получиться матрица, у которой количество строк = кол-ву пикселей, количество столбцов=кол-ву изображений. Помогите, пожалуйста.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.04.2015, 01:51
Ответы с готовыми решениями:

Дифференцированное уравнение второго порядка представить в виде системы уравнений первого порядка
Как представить это уравнение x'' - (\lambda + k{x}^{2}-{x}^{4})*x'+x = 0 в систему уравнений первого порядка?

Вывести на экран матрицу порядка n (n=1..15) - элементы выводятся не в виде матрицы, а в виде строки
Здравствуйте. Нужно вывести на экран матрицу порядка n (n=1..15). Я написал программу, но при этом на экран элементы выводятся не в виде...

Представить граф в виде матрицы
помогите пожалуйста нужно представить граф в виде матрицы, чтобы можно было потом обращаться к узлам графа по индексу этой матрицы ...

22
533 / 438 / 47
Регистрация: 17.07.2013
Сообщений: 2,236
23.04.2015, 09:54
Все это в книжках по ML описано, чем помочь?

Добавлено через 7 минут
_Ануфриев Смирнов Смирнова MATLAB 7 (наиболее полное руководство) 2005 1104 c
Стр. 80. Строка 13 снизу.
Обращение к элементам матрицы как к элементам вектора при помощи одного индекса.
1
0 / 0 / 0
Регистрация: 23.04.2015
Сообщений: 31
23.04.2015, 13:48  [ТС]
да, мне очень нужна помощь.
я могу открыть одно изображение в виде матрицы А и представить его в виде вектора А(.
а мне нужно открыть целую группу таких изображений и сложить их в матрицу. Количество столбцов = количеству векторов, т.е. изображений.
Невозможно их открывать вручную, так как их много, а как открыть несколько изображений я не знаю.
0
41 / 41 / 9
Регистрация: 22.10.2012
Сообщений: 91
23.04.2015, 15:24
Если не ошибаюсь, такое прокатит только если изображение бинарное или полутоновое (исходное или преобразованное в данное). Только в этих случаях одному пикселю будет соответствовать один элемент матрицы, что требуется в задаче.
Ну и размер изображений д.б. одинаковым.

Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
clc
clear all;
close all;
 
list = dir('F:\Путь к папке с изображениями\*.jpg');
table = []; %инициализация общей матрицы
for i =1:length(list)
    t = imread(list(i).name); %загрузка изображения
    t = rgb2gray(t); %нужна если изображение полноцветное
    q = prod(size(t)); %количество пикселей 
    tcol = reshape(t,q,1); %запись всех пикселей в столбец
    table = [table tcol]; %запись столбцов в общую матрицу
end
9-я строка нужна, если изображения полноцветные, т.е. формат переменной t будет m x n x 3

Этой строчкой в командной строке (ну или после кода вставить) можно проверить корректность кода, посмотрев из всей матрицы какое-либо изображение (в данном случае третий столбец)
Matlab M
1
imshow(reshape(table(:,3),size(t)))
1
533 / 438 / 47
Регистрация: 17.07.2013
Сообщений: 2,236
23.04.2015, 15:38
Многое зависит от имен файлов, содержащих картинки. Приведите пример имен первых 5-и файлов
0
0 / 0 / 0
Регистрация: 23.04.2015
Сообщений: 31
23.04.2015, 15:41  [ТС]
1.pgm, 2.pgm, 3.pgm, 4.pgm, 5.pgm.
Изображения полутоновые
0
41 / 41 / 9
Регистрация: 22.10.2012
Сообщений: 91
23.04.2015, 15:48
Пробовал код? Получилось?
0
0 / 0 / 0
Регистрация: 23.04.2015
Сообщений: 31
23.04.2015, 15:54  [ТС]
Нет(
выводит
table =

[]
0
41 / 41 / 9
Регистрация: 22.10.2012
Сообщений: 91
23.04.2015, 15:56
Neuroface, Эту строку изменил под себя?
Matlab M
1
list = dir('F:\Путь к папке с изображениями\*.jpg');
Размеры одинаковые? На что вообще ругается?
1
0 / 0 / 0
Регистрация: 23.04.2015
Сообщений: 31
23.04.2015, 16:01  [ТС]
да, указал путь к папке)
размеры одинаковые
никаких ошибок не выводит
0
41 / 41 / 9
Регистрация: 22.10.2012
Сообщений: 91
23.04.2015, 16:13
Neuroface, а jpg заменил на pgm? Подозрение, что он никаких файлов не нашел там и list - пустой. Cтроку t = rgb2gray(t); кстати удаляй.
0
533 / 438 / 47
Регистрация: 17.07.2013
Сообщений: 2,236
23.04.2015, 16:35
Изображение - монохром?

Добавлено через 5 минут
Имена файлов очень хорошие.
Для открытия файлов используйте uigetfile
0
0 / 0 / 0
Регистрация: 23.04.2015
Сообщений: 31
23.04.2015, 18:27  [ТС]
Dimas_rdn. Ошибку выводит на 8 строчку. Пишет: Unexpected MATLAB expression.

Nick07, но так не открываются изображения((

Добавлено через 15 минут
Да, изображения монохромные

Добавлено через 48 минут
Ошибку выводит на 8 строчку. Пишет: Unexpected MATLAB expression.

Добавлено через 30 минут
Dimas_rdn, программа не принимает сточку t = imread(list(i).name);
0
41 / 41 / 9
Регистрация: 22.10.2012
Сообщений: 91
23.04.2015, 19:26
Neuroface, странно. Завтра гляну еще раз на работе, но я вроде как рабочий код скидывал. Если несложно, залей штук 5-10 изображений архивом
1
0 / 0 / 0
Регистрация: 23.04.2015
Сообщений: 31
23.04.2015, 19:45  [ТС]
Dimas_rdn
вот архив, спасибо))
Вложения
Тип файла: rar s1.rar (70.3 Кб, 7 просмотров)
0
533 / 438 / 47
Регистрация: 17.07.2013
Сообщений: 2,236
23.04.2015, 20:38
Имя файла должно быть в апострофах:

>> M01 = imread ( 1.pgm ) ;
M01 = imread ( 1.pgm ) ;
|
Error: Unexpected MATLAB
expression.

>> M01 = imread ( '1.pgm' ) ;
>>
0
0 / 0 / 0
Регистрация: 23.04.2015
Сообщений: 31
23.04.2015, 20:44  [ТС]
Nick07, а как тогда открыть все 300 изображений?
по отдельности каждый же невозможно писать.
в имени сделать цикл?
0
533 / 438 / 47
Регистрация: 17.07.2013
Сообщений: 2,236
23.04.2015, 20:53
Сказанное выше справедливо, если читать одну картинку.

У меня все прошло без ошибок. Надо только строку 9 закрыть комментарием или убрать совсем.

Добавлено через 3 минуты
Цитата Сообщение от Dimas_rdn Посмотреть сообщение
list(i).name
Это и есть имя в цикле.

Для Ваших архивированных данных полученная матрица имеет следующую размерность: <10304x10 uint8>
0
0 / 0 / 0
Регистрация: 23.04.2015
Сообщений: 31
23.04.2015, 21:03  [ТС]
Nick07,
путь к папке указываю же правильно:
например 'C:\Users\MATLAB\s1\*.pgm'
Так ?
0
533 / 438 / 47
Регистрация: 17.07.2013
Сообщений: 2,236
23.04.2015, 21:23
Это только Вы знаете.
Если Ваши картинки лежат на диске С, где есть папка Users, а в этой папке есть папке MATLAB, а в этой папке есть папка s1, а в этой папке лежат файлы с расширением *.pgm - то правильно.

Лучше данные хранить на отдельном диске и не в папке MATLAB

Добавлено через 10 минут
А дальше что думаете с этой Большой Матрицей делать, корреляцию считать?
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.04.2015, 21:23
Помогаю со студенческими работами здесь

Представить выражение в виде, содержащем матрицы Паули
Задача 5.20 из задачника Галицкий Карнаков Коган 1981г. Представить выражение (σˆ1σˆ2)^2 в виде, содержащем...

Как загруженное изображение представить в виде матрицы?
можно ли както загруженное изображение представить в виде матрицы( для дальнейшей обработки нейросетью)?

Представить массив в виде матрицы размером 10х7
Представить массив в виде матрицы размером 10х7, первый столбик цифры от 1 до 10, со 2 по 4 столбик ноли, пятый столбик любые цифры...

Как представить массив ячеек в виде матрицы?
Массив ячеек, например в такой: E={{ } { }} надо преобазовать в виде матрицы. Как это сделать? cell2mat ругается, что мол...

Судоку. Как несколько TexBox представить в виде матрицы
Здравствуйте, мне нужно реализовать игру Судоку. Я начала ее делать в Visual Studio Windows form,ячейки я представила в виде...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru