Как вставить картинку в матлабе
Документация
Импорт изображений
Импортировать данные в MATLAB ® рабочая область от графического файла, используйте imread функция. Используя эту функцию, можно импортировать данные из файлов во многих стандартных форматах файлов, включая теговый формат графических файлов (TIFF), Формат обмена графическими данными (GIF), формат графических данных JPEG (JPEG) и форматы Переносимой сетевой графики (PNG). Для полного списка поддерживаемых форматов смотрите imread страница с описанием.
Этот пример читает данные изображения, сохраненные в файле в формате JPEG в рабочее пространство MATLAB как массив I :
Для большего количества управления чтением файлов TIFF используйте Tiff объект — видит Данные изображения Чтения и Метаданные из файлов TIFF для получения дополнительной информации.
Получение информации о файлах изображений
Если у вас есть файл в стандартном графическом формате, используйте imfinfo функция, чтобы получить информацию о ее содержимом. imfinfo функция возвращает структуру, содержащую информацию о файле. Поля в структуре меняются в зависимости от формата файла, но imfinfo всегда возвращает некоторую основную информацию включая имя файла, дату последнего изменения, размер файла и формат.
Этот пример возвращает информацию о файле в формате формата графических данных JPEG (JPEG):
Чтение данных изображения и метаданных из файлов TIFF
Чтение подызображений из файла TIFF
Файл TIFF может содержать один или несколько директории файла изображения (IFD). Каждая IFD содержит данные изображения и метаданные (теги), сопоставленные с изображением. Каждая IFD может содержать один или несколько subIFDs, которые также могут содержать данные изображения и метаданные. Эти подызображения обычно являются уменьшаемым разрешением (миниатюра) версии данных изображения в IFD, содержащей subIFDs.
Чтобы считать подызображения в IFD, необходимо получить местоположение подызображения от SubIFD тег. SubIFD тег содержит массив байтовых смещений, которые указывают на подызображения. Затем можно передать адрес subIFD к setSubDirectory метод, чтобы сделать subIFD текущей IFD. Большая часть Tiff методы объекта работают с текущей IFD.
Откройте файл TIFF, который содержит изображения и подызображения с помощью Tiff конструктор Object. Этот пример использует файл TIFF, созданный в Создании Подкаталогов файла TIFF, который содержит одну директорию IFD с двумя subIFDs. Tiff конструктор открывает файл TIFF и делает первый subIFD в файле текущей IFD:
Получите местоположения subIFDs, сопоставленного с текущей IFD. Используйте getTag метод, чтобы получить значение SubIFD тег. Этот метод возвращает массив байтовых смещений, которые задают местоположение subIFDs:
Перейдите к первому подызображению. Во-первых, установите currentIFD на директорию, содержащую первое подызображение:
Затем переместитесь к первому subIFD по использованию setSubDirectory метод. Задайте байтовое смещение subIFD в качестве аргумента. Этот вызов делает subIFD текущей IFD:
Считайте данные изображения из текущей IFD (первый subIFD) тот же способ, которым вы читаете любую другую IFD в файле:
Просмотрите первое подызображение:
Перейдите к второму подызображению. Во-первых, сбросьте currentIFD к директории, содержащей второе подызображение:
Затем переместитесь к второму subIFD по использованию setSubDirectory метод. Задайте байтовое смещение второго subIFD:
Считайте данные изображения из текущей IFD (второй subIFD), как вы были бы с любой другой IFD в файле:
Документация
Работа с изображениями в графике MATLAB
Что такое данные изображения?
В рабочем пространстве MATLAB большинство изображений представлено как двумерные массивы (матрицы), в которых каждый элемент матрицы соответствует одному пикселю в отображенном изображении. Например, изображение, состоявшее из 200 строк и 300 столбцов различных цветных точек, сохраненных как 200 300 матрица. Некоторые изображения, такие как RGB, требуют 3D массива, где первая плоскость в третьей размерности представляет красные интенсивности пикселей, вторая плоскость представляет зеленые интенсивности пикселей, и третья плоскость представляет синие интенсивности пикселей.
Это соглашение делает работу с изображениями формата графических файлов подобной работе с любым другим типом матричных данных. Например, можно выбрать один пиксель из матрицы изображений с помощью нормального матричного индексирования:
Следующие разделы описывают различные данные и типы изображения, и сообщают подробности о том, как читать, запишите, работайте с и отобразите графические изображения; как изменить свойства отображения и соотношение сторон изображения во время отображения; как распечатать изображение; и как преобразовать тип данных или графический формат изображения.
Типы данных
Математика MATLAB поддерживает три различных числовых класса для отображения изображений:
с двойной точностью с плавающей точкой ( double )
16-битное беззнаковое целое ( uint16 )
8-битное беззнаковое целое ( uint8 )
Команды отображения изображений интерпретируют значения данных по-другому в зависимости от числового класса, в котором хранятся данные. 8-битные и 16-битные Изображения включают детали о внутренних работах устройства хранения данных для 8-и 16-битные изображения.
Битовая глубина
Поддерживаемые форматы изображения
Чтение команд MATLAB, запишите и отобразите несколько типов форматов графических файлов для изображений. Как с MATLAB сгенерировал изображения, когда-то изображение формата графических файлов отображено, это становится объектом изображения. MATLAB поддерживает следующие форматы графических файлов, вместе с другими:
BMP (Microsoft ® Windows ® Bitmap)
GIF (графика обменивается файлами),
HDF (иерархический формат данных)
Как вставить картинку в матлабе
To import data into the MATLAB ® workspace from a graphics file, use the imread function. Using this function, you can import data from files in many standard file formats, including the Tagged Image File Format (TIFF), Graphics Interchange Format (GIF), Joint Photographic Experts Group (JPEG), and Portable Network Graphics (PNG) formats. For a complete list of supported formats, see the imread reference page.
This example reads the image data stored in a file in JPEG format into the MATLAB workspace as the array I :
For more control over reading TIFF files, use the Tiff object—see Reading Image Data and Metadata from TIFF Files for more information.
Getting Information About Image Files
If you have a file in a standard graphics format, use the imfinfo function to get information about its contents. The imfinfo function returns a structure containing information about the file. The fields in the structure vary with the file format, but imfinfo always returns some basic information including the file name, last modification date, file size, and format.
This example returns information about a file in Joint Photographic Experts Group (JPEG) format:
Reading Image Data and Metadata from TIFF Files
Reading Subimages from a TIFF File
A TIFF file can contain one or more image file directories (IFD). Each IFD contains image data and the metadata (tags) associated with the image. Each IFD can contain one or more subIFDs, which also can contain image data and metadata. These subimages are typically reduced-resolution (thumbnail) versions of the image data in the IFD containing the subIFDs.
To read the subimages in an IFD, you must get the location of the subimage from the SubIFD tag. The SubIFD tag contains an array of byte offsets that point to the subimages. You then can pass the address of the subIFD to the setSubDirectory method to make the subIFD the current IFD. Most Tiff object methods operate on the current IFD.
Open a TIFF file that contains images and subimages using the Tiff object constructor. This example uses the TIFF file created in Creating TIFF File Subdirectories, which contains one IFD directory with two subIFDs. The Tiff constructor opens the TIFF file, and makes the first subIFD in the file the current IFD:
Retrieve the locations of subIFDs associated with the current IFD. Use the getTag method to get the value of the SubIFD tag. This method returns an array of byte offsets that specify the location of subIFDs:
Navigate to the first subimage. First, set the currentIFD to the directory containing the first subimage:
Then, navigate to the first subIFD using the setSubDirectory method. Specify the byte offset of the subIFD as an argument. This call makes the subIFD the current IFD:
Read the image data from the current IFD (the first subIFD) the same way you read any other IFD in the file:
View the first subimage:
Navigate to the second subimage. First, reset the currentIFD to the directory containing the second subimage:
Then, navigate to the second subIFD using the setSubDirectory method. Specify the byte offset of the second subIFD:
Read the image data from the current IFD (the second subIFD) as you would with any other IFD in the file:
Форум MATLAB и Simulink
Форум пользователей MATLAB и Simulink
jpg.-картинка в GUI
Модератор: Admin
jpg.-картинка в GUI
Сообщение OPEX » Вт окт 25, 2011 3:28 pm
Сообщение Jey » Вт окт 25, 2011 3:35 pm
Сообщение OPEX » Вт окт 25, 2011 3:41 pm
Сообщение Jey » Вт окт 25, 2011 3:42 pm
Сообщение OPEX » Вт окт 25, 2011 3:48 pm
Jey, у меня к Вам еще один вопрос. а точнее проблема. если помните я у Вас спрашивал как сделать что бы при построении графиков предыдущий удалялся. Вы мне посоветовали коллбак функцию отвечающую за удаление графика вставить в начало функции, где строится график. я вставил вроде все работало, но потом стала появляться ошибка:
. Error using ==> delete
Invalid handle object.
Error in ==> primerinter2>PushButtonPressed at 345
delete(hA);
. Error while evaluating uicontrol Callback
и ни чего не строится.
не могли бы Вы подсказать в чем проблема?
Сообщение Jey » Вт окт 25, 2011 4:18 pm
Сообщение OPEX » Вт окт 25, 2011 5:45 pm
это функция построения графика:
function PushButtonPressed(h, eventdata)
global A B D C hA R1 so b g b1 g1 v v1 v2 v3
delete(hA);
h11=tf([A]);
h12=tf([A],[1 0]);
h13=tf([A 0],[1]);
Как вставить картинку в матлабе
Получив удачное изображение мы можем захотеть сохранить его для будущих просмотров в системе MATLAB, а также, возможно, и в других приложениях.
Самым простым способом сохранения графического изображения является использование команды меню Edit | Copy Figure, в результате чего изображение (это клиентская часть графического окна MATLABа) будет сохранено в буфере обмена операционной системы Windows (Clipboard). После этого вы можете вставить это изображение в документ редактора Word командой меню Paste последнего. Вместе со всем документом это изображение, полученное первоначально в системе MATLAB, можно будет распечатать на принтере.
Вместо использования команды меню графического окна можно из командного окна системы MATLAB выполнить команды
причём вторая команда сохранит изображение в буфере обмена в формате Windows Metafile вместо формата Bitmap.
Аналогично созданное в системе MATLAB изображение можно будет командой Paste вставить в редактируемое изображение простого графического редактора Paint, входящего в поставку операционной системы Windows. В результате вы можете смонтировать изображение, полученное в системе MATLAB с другими изображениями программы Paint.
Ещё более мощные средства редактирования и монтажа изображений можно применить, если вставить командой Paste изображение MATLABа в известнейшей программе растровой графики. После этого в ваших руках будут практически неограниченные возможности дальнейшего редактирования изображений, а также сохранения их в файлах различных форматов и печати на разнообразных принтерах (в том числе и на профессиональных типографских).
Часто, однако, бывает удобно сохранить полученное в MATLABе изображение в файле некоторого известного графического формата. Это легко сделать командами
где вместо options надо подставить заданный идентификатор для конкретной ситуации.
Например, если мы хотим создать графический файл в формате популярного пакета векторной графики Illustrator, то вместо options надо будет подставить dill :
В результате выполнения этой команды на диске будет записан файл FileName.ai, где расширение ai характерно для пакета Illustrator. Далее этот файл можно открыть в пакете Illustrator и осуществлять его дальнейшее редактирование уже в рамках этого мощного пакета векторной графики.
Много других популярных графических форматов файлов можно получить, применяя команду capture и функцию imwrite. Например, следующий код
Создаёт файл myfile1.jpg, который хорошо включать в Internet-страницы для их просмотра браузером Internet Explorer.
Функция capture возвращает матрицу X, соответствующую точкам изображения, и матрицу цветов map (три столбца в формате RGB), использованную в изображении. Каждый элемент матрицы X равен номеру одной из строк матрицы map.
В системе MATLAB по матрицам X и map можно восстановить графическое изображение, применив команды
но этот разговор уже касается объектов image системы MATLAB, которым мы посвятим специальный раздел.