Прочитать изображение из файла матлаб

Обновлено: 06.07.2024

Загружает данные в массив A из файла, обозначенного именем файла .

Загружает данные из системного буфера обмена, а не из файла.

A = importdata (___, delimiterIn)

Интерпретирует delimiterIn как разделитель столбцов в файле ASCII, имени файла или данных буфера обмена. Вы можете использовать delimiterIn с любым из входных аргументов в приведенных выше синтаксисах.

A = importdata (___, delimiterIn, headerlinesIn)

Загружает данные из файла ASCII, имени файла или буфера обмена, считывая числовые данные, начиная со строки headerlinesIn + 1 .

[A, delimiterOut, headerlinesOut] = importdata (___)

Возвращает обнаруженный символ разделителя для входного файла ASCII в delimiterOut и обнаруженное количество строк заголовка в headerlinesOut , используя любой из входных аргументов в предыдущих синтаксисах.

A = importdata (имя файла)

Загружает данные в массив A из файла, обозначенного именем файла .

Загружает данные из системного буфера обмена, а не из файла.

A = importdata (___, delimiterIn)

Интерпретирует delimiterIn как разделитель столбцов в файле ASCII, имени файла или данных буфера обмена. Вы можете использовать delimiterIn с любым из входных аргументов в приведенных выше синтаксисах.

A = importdata (___, delimiterIn, headerlinesIn)

Загружает данные из файла ASCII, имени файла или буфера обмена, считывая числовые данные, начиная со строки headerlinesIn + 1 .

[A, delimiterOut, headerlinesOut] = importdata (___)

Возвращает обнаруженный символ разделителя для входного файла ASCII в delimiterOut и обнаруженное количество строк заголовка в headerlinesOut , используя любой из входных аргументов в предыдущих синтаксисах.

filename = 'smile.jpg' ; A = importdata ( filename ); image ( A );

Когда вы запускаете файл, MATLAB отображает файл изображения. Однако вы должны сохранить его в текущем каталоге.

Импорт файлов Imange

Пример 2

В этом примере мы импортируем текстовый файл и указываем разделитель и заголовок столбца. Давайте создадим ASCII-файл, разделенный пробелами, с заголовками столбцов с именем weeklydata.txt .

Пример 3

В этом примере давайте импортируем данные из буфера обмена.

Математика проста

Низкоуровневый файловый ввод / вывод

Функция importdata является высокоуровневой функцией. Низкоуровневые функции ввода / вывода файлов в MATLAB позволяют максимально контролировать чтение или запись данных в файл. Однако эти функции нуждаются в более подробной информации о вашем файле для эффективной работы.

MATLAB предоставляет следующие функции для операций чтения и записи на уровне байтов или символов:

функция Описание
fclose Закройте один или все открытые файлы
feof Тест на конец файла
FERROR Информация об ошибках файлового ввода-вывода
fgetl Чтение строки из файла, удаление символов новой строки
fgets Читать строку из файла, сохраняя символы новой строки
Еореп Откройте файл или получите информацию об открытых файлах
fprintf Записать данные в текстовый файл
Fread Чтение данных из двоичного файла
frewind Переместить индикатор положения файла в начало открытого файла
fscanf Читать данные из текстового файла
FSEEK Переместить в указанную позицию в файле
ftell Положение в открытом файле
FWRITE Записать данные в двоичный файл

Импорт текстовых файлов данных с низкоуровневым вводом / выводом

Функция fscanf читает отформатированные данные в текстовом или ASCII-файле.

Функции fgetl и fgets читают по одной строке файла за раз, где символ новой строки разделяет каждую строку.

Функция fread считывает поток данных на уровне байтов или битов.

Функция fscanf читает отформатированные данные в текстовом или ASCII-файле.

Функции fgetl и fgets читают по одной строке файла за раз, где символ новой строки разделяет каждую строку.

Функция fread считывает поток данных на уровне байтов или битов.

пример

У нас есть текстовый файл данных «myfile.txt», сохраненный в нашем рабочем каталоге. Файл хранит данные об осадках за три месяца; Июнь, июль и август за 2012 год.

Данные в myfile.txt содержат повторные наборы измерений времени, месяца и количества осадков в пяти местах. Данные заголовка хранят количество месяцев M; таким образом, у нас есть M наборов измерений.

Откройте файл с помощью функции fopen и получите идентификатор файла.

Опишите данные в файле с помощью спецификаторов формата , таких как « % s » для строки, « % d » для целого числа или « % f » для числа с плавающей запятой.

По умолчанию fscanf считывает данные в соответствии с нашим описанием формата, пока не найдет совпадения для данных или не достигнет конца файла. Здесь мы будем использовать цикл для чтения 3 наборов данных и каждый раз будем читать 7 строк и 5 столбцов.

Откройте файл с помощью функции fopen и получите идентификатор файла.

Опишите данные в файле с помощью спецификаторов формата , таких как « % s » для строки, « % d » для целого числа или « % f » для числа с плавающей запятой.

По умолчанию fscanf считывает данные в соответствии с нашим описанием формата, пока не найдет совпадения для данных или не достигнет конца файла. Здесь мы будем использовать цикл для чтения 3 наборов данных и каждый раз будем читать 7 строк и 5 столбцов.

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

Чтобы считать изображение формата графических файлов используют imread .

Чтобы записать изображение формата графических файлов, используйте imwrite .

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

Эта таблица дает более ясное изображение, которого команды MATLAB должны использоваться с который типы изображения.

Функции, чтобы использовать

Загрузите или сохраните матрицу как MAT-файл.

Загрузите или сохраните образ формата графических файлов, e.g., BMP, TIFF.

Отобразите любое изображение, загруженное в рабочее пространство MATLAB.

Чтение графического изображения

Примечание

Для индексируемых изображений, imread всегда читает палитру в массив класса double , даже при том, что сама матрица изображений может иметь класс uint8 или uint16 .

Следующие команды читают изображение ngc6543a.jpg в переменную RGB рабочей области и затем отображает изображение с помощью image функция:

Можно записать (сохраняют) данные изображения с помощью imwrite функция. Операторы

создайте файл BMP, содержащий изображение клоуна.

Запись графического изображения

Подмножество графическое изображение (обрезка)

Иногда вы хотите работать только с фрагментом файла изображения, или вы хотите разбить его в подразделы. Задайте внутренние координаты прямоугольного подраздела, с которым вы хотите работать и сохранить его в файл из командной строки. Если вы не знаете координаты угловых точек подраздела, выбираете их в интерактивном режиме, когда следующий пример показывает:

Если вы знаете, каковы угловые координаты изображений должны быть, можно вручную задать sp в предыдущем примере вместо того, чтобы использовать ginput .

Можно также отобразить “поле круглой резинки”, когда вы взаимодействуете с изображением к подмножеству оно. Смотрите пример кода для rbbox для деталей. Для получения дополнительной информации см. документацию для ginput и image функции.

Получение информации о графических файлах

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

Имя файла, включая путь к папке, если файл не находится в текущей папке

Номер версии формата файла

Дата модификации файла

Размер файла в байтах

Ширина изображения в пикселях

Высота изображения в пикселях

Количество бит на пиксель

Тип изображения: RGB (истинный цвет), интенсивность (шкала полутонов), или индексированный

MATLAB Сохранить и прочитать метод файла / изображения

Недавно в соответствующих проектах обработки изображений включает объемную обработку, личные чувства, сохранить и читать файлыПросто и практичноТеперь поделитесь этим с картинками.

Во-первых, мысли: При сохранении и чтении файлов в партиях, для удобства, он сохраняется и прочитан в определенном законе. Мы можем пожелать сохранить имя файла на 1, 2, 3, . так что удобно читать и легко читать. Но имя файла '1', '2', '3' . не является целочисленным типом, а тип символа, поэтому ключевой шаг в сохранении является конвертировать цифровые на символы, этот шаг также очень прост ( Видимый задний код), другой передал цикл, чтобы завершить сохранение и чтение пакет файлов.

Во-вторых, пример шага:Я недавно обрабатывал картину, поэтому мы фотографируем в качестве примера (другие файлы похожи друг на друга).

Сохранить в партиях:

1. Прочитайте изображение LENA.BMP в качестве тестовой картины.

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

3. Установите имя файла и преобразуйте его в тип символа.

4. Сохраните новую картинку, затем перейдите на следующий цикл до конца, пакет сохраняется.

Пакетное чтение:

1. Помечено в цифровом теге, затем преобразуйте его в тип символа.

2. Прочитайте петлю файла.

В-третьих, реализация кода:Реализуйте использование MATLAB, код выглядит следующим образом:

Сохранить в партиях:

Его оперативные результаты могут просматривать сохраненные изображения в текущей папке, см. Рисунок ниже


Рисунок 1 Пакетная спасенная картина

Пакетное чтение:Кодовое шоу, как показано ниже

Результаты работы могут быть прочитаны с 1.bmp, 2.bmp, 3.bmp . в текущем файле к программе и отобразить его, как показано ниже:


Рисунок 2 Пакетные фотографии

Это завершает сохранение объема и чтение файла. Пакетные файлы Сохранения могут обработать файлы, сгенерированные MATLAB в других программах; Пакетные чтения могут быть пакетными для чтения других программ для обработки файлов и т. Д.

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

Интеллектуальная рекомендация


[Makefile от более мелких к более глубоким полная запись обучения 4] Переменные и различные методы присвоения

Давайте сегодня узнаем о различных методах присваивания переменных в Makefile! Смысл тяжелой работы, чтобы бедность больше не ограничивать свое воображение! Добавьте QQ, чтобы вместе учиться и обменив.

[Luogu P3147] [BZOJ 4576] [USACO16OPEN]262144

Портал Луогу БЗОЙ Портал Описание заголовка Bessie likes downloading games to play on her cell phone, even though she doesfind the small touch screen rather cumbersome to use with her large hooves. Sh.

Изображения считываются в среду MATLAB с помощью функции imread (), которая принимает имя файла с соответствующим расширением в качестве аргумента.
Например:

2. Отображение изображений

Показ градаций серого

Это покажет изображение в градациях серого f .
Также мы можем написать

Он будет отображать все значения, меньшие или равные 90, как черные, а все значения, большие или равные 180, как белые. Значения между 90 и 180 отображаются как промежуточное значение интенсивности с использованием количества уровней по умолчанию.

Отображение двоичных изображений

Отображает двоичное изображение BW . Он отображает пиксели со значением 0 (ноль) как черный и пиксели со значением 1 как белый.

Показаны изображения RGB

Он отображает изображение RGB f .

3. Запись изображений на диск

В качестве альтернативы мы можем написать это,

Приведенные выше команды записывают изображение f в характер имени файла с расширением jpg.

Примечание: функция imwrite () также имеет некоторые необязательные параметры, в зависимости от формата файла.
Например:

Вышеуказанный синтаксис применим только для изображений JPEG. Здесь q является целым числом и может принимать значение от 0 до 100. Чем ниже значение q, тем выше ухудшение из-за сжатия JPEG.

Некоторые другие важные функции

я.) imfinfo

Он отображает детали файла изображения
Пример:

II.) размер ()

Функция size () принимает матрицу изображения в качестве аргумента и задает размерность строки и столбца изображения f. Эта функция используется для автоматического определения размера изображения.
Пример :

Примечание. Как мы знаем, изображения RGB представлены с использованием трехмерной матрицы в MATLAB. Таким образом, если f является RGB-изображением, вышеуказанная функция выдаст

III.) Чей F

Эта функция покажет дополнительную информацию о матрице изображения f.
Пример :

Читайте также: