2010-09-18 4 views
1

У меня проблема с передачей изображения (данные RGB) Я получаю из Java GUI (для которого у меня есть исходный код) в массив MATLAB. Это можно сделать?Изображение от Java GUI до MATLAB

Я не знаю, с чего начать, так как я не очень хорошо разбираюсь в программировании на Java. Любая помощь будет оценена по достоинству. Я кандидат наук. студент, и мне нужно решить это для моих будущих исследований.

+0

MATLAB может считывать файлы изображений с помощью таких функций, как 'imread()'. Каков формат изображения? Это на диске? – linuxuser27

+0

Я знаком с функцией imread и большей частью другой в панели обработки изображений в Matlab. Тем не менее, я не уверен, что изображение находится на диске, поэтому я не могу использовать его таким образом. Я тоже не могу помочь вам в этом формате, так как я не знаю ответа. JavaGui используется для извлечения изображений CmuCam2: http://www.cs.cmu.edu/~cmucam2/downloads.html – Mare

ответ

1

Поскольку вы находитесь на Java, есть несколько вещей, которые могут произойти здесь.

1) Используйте MATLAB Builder JA. Это позволит вам создать уровень Java, который позволит вам маршировать данные из Java в среду исполнения MATLAB. Обратите внимание, что этот вариант имеет другие требования, которые я говорю о here

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

3) И это сомнительное решение, но оно будет работать. Выпишите изображение как матрицу в формате CSV. Затем вы можете загрузить это в MATLAB, и он преобразует CSV в многомерную матрицу, которая является более или менее изображением изображения.

В основном он разбивается на записи данных изображения в некотором формате, который MATLAB понимает или записывает interop layer.

+0

Matlab Builder JA не требуется для доступа к данным изображения. – zellus

+0

@zellus. Да, поскольку в вашем решении упоминается, что вы можете сделать все это из среды MATLAB, тогда вам также нужно запустить все приложение CmuCam2 из MATLAB, но это вариант, который следует учитывать. – linuxuser27

+0

Спасибо всем за помощь. Я хочу, чтобы первое решение можно было использовать, так как я должен передавать данные в реальном времени. Я не могу сохранить изображение, которое я получаю на диске. Сначала я могу запустить gui из matlab, но идеальным решением является управление функциями gui без открытия gui. Можно ли это сделать с помощью builder ja? – Mare

0

Ну, если у вас нет лучших идей, используйте захват экрана (Alt + PrntScreen на Windows, что бы ни было на Linux) и вставьте захват в MS Paint или GIMP. Затем сохраните в своем любимом формате файла изображения и bob - ваш дядя.

Или, как обычно, отсутствует какое-то невероятное осложнение?

Если это слишком просто, измените Java, чтобы записать изображение в файл - вы говорите, что у вас есть источник. Вы могли бы даже заставить Matlab вызвать Java для этого, а затем получить изображение напрямую.

0

Одной из выдающихся возможностей MATLAB является возможность Java-скриптинга. Поскольку вы можете скачать источники CmuCam2, вы просто создаете классы Java, которые вам нужны, и вызывают необходимые методы, поскольку они являются встроенными функциями MATLAB.

Посмотрите на «Bringing Java Classes and Methods into MATLAB Workspace» документации MathWorks.

Смежные вопросы