Модераторы: javastic, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с камерой в реальном времени. Возможно? Захват видео потока для анализа... 
:(
    Опции темы
kalexi
Дата 16.8.2009, 08:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 9.2.2008

Репутация: нет
Всего: нет



Сабж. Захват изображения и вывод после обработки без сохранения в память. Возможен?

Это сообщение отредактировал(а) kalexi - 16.8.2009, 08:18
PM MAIL WWW   Вверх
furstenberg
Дата 25.8.2009, 22:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 13.2.2008

Репутация: нет
Всего: нет



Тоже интересует этот вопрос.
PM MAIL   Вверх
timurtimur
Дата 28.9.2009, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 20.2.2009

Репутация: 1
Всего: 2



Возможен
PM MAIL   Вверх
javaitek
Дата 29.9.2009, 00:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 24.5.2009

Репутация: нет
Всего: нет



Посмотрите похожий топик http://forum.vingrad.ru/forum/topic-268390...1933735/0.html#
PM MAIL   Вверх
furstenberg
Дата 7.10.2009, 23:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 13.2.2008

Репутация: нет
Всего: нет



Прошёл по ссылке, там приведён рабочий пример:
Код

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;

import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.Item;
import javax.microedition.lcdui.List;
import javax.microedition.media.Manager;
import javax.microedition.media.Player;
import javax.microedition.media.control.RecordControl;
import javax.microedition.media.control.VideoControl;
import javax.microedition.midlet.MIDlet;

/**
 * @author javaitek
 *
 */
public class VideoCam extends MIDlet implements CommandListener {

    Display display;
    Form form = new Form("Video");
    Command exit = new Command("п’я‹я…пѕпґ", Command.EXIT, 1);
    Command start = new Command("пќп°я‡п°я‚яЊ", Command.ITEM, 1);
    Command stop = new Command("пћяЃя‚п°пЅпѕпІпёя‚яЊ", Command.ITEM, 1);

    String url;
    Player player;
    VideoControl videoControl;
    Item videoItem;
    RecordControl recordControl;
    String contentType;
    ByteArrayOutputStream outputStream;

    public VideoCam() {
        display = Display.getDisplay(this);
        form.addCommand(exit);
        form.addCommand(start);
        form.setCommandListener(this);
        List list = new List("пўпёпї п·п°пїпёяЃпё", List.EXCLUSIVE);
        list.append("video", null);
        list.append("audio", null);
        list.addCommand(new Command("п’я‹п±яЂп°я‚яЊ", Command.ITEM, 1));
        list.setCommandListener(new CommandListener() {
            public void commandAction(Command c, Displayable d) {
                List list = (List) d;
                switch (list.getSelectedIndex()) {
                case 0:
                    url = "capture://video";
                    break;
                case 1:
                    url = "capture://audio";
                    break;
                default:
                    url = "capture://video";
                break;
                }
                form.append(url + "\n");
                display.setCurrent(form);
            }
        });
        display.setCurrent(list);
    }

    public void startApp() {}

    public void pauseApp() {}

    public void destroyApp(boolean unconditional) {
        notifyDestroyed();
    }

    public void commandAction(Command c, Displayable d) {
        if (c == exit) {
            notifyDestroyed();
        }
        if (c == start) {
            new Thread() {
                public void run() {
                    try {
                        form.removeCommand(start);
                        form.addCommand(stop);
                        player = Manager.createPlayer(url);
                        player.realize();
                        contentType = player.getContentType();
                        form.append(contentType + "\n");
                        videoControl = (VideoControl) player.getControl("VideoControl");
                        if (videoControl != null) {
                            videoItem = (Item) videoControl.initDisplayMode(VideoControl.USE_GUI_PRIMITIVE, null);
                            form.append(videoItem);
                        } else {
                            form.append("No VideoControl" + "\n");
                        }
                        recordControl = (RecordControl) player.getControl("RecordControl");
                        if (recordControl != null) {
                            outputStream = new ByteArrayOutputStream();
                            recordControl.setRecordStream(outputStream);
                            recordControl.startRecord();
                            form.append("Recording..." + "\n");
                        } else {
                            form.append("No RecordControl" + "\n");
                        }
                        player.start();
                    } catch (Exception e) {
                        e.printStackTrace();
                        form.append(e.toString() + "\n");
                    }
                }
            }.start();
        }
        if (c == stop) {
            new Thread() {
                public void run() {
                    try {
                        form.removeCommand(stop);
                        player.stop();
                        if (recordControl != null) {
                            recordControl.stopRecord();
                            recordControl.commit();
                            form.append("Stopped" + "\n");
                        }
                        if (videoItem != null) {
                            for (int i = 0; i < form.size(); i++) {
                                Item item = form.get(i);
                                if (item == videoItem) {
                                    form.delete(i);
                                }
                            }
                        }
                        if (outputStream != null) {
                            InputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());
                            player = Manager.createPlayer(inputStream, contentType);
                            player.realize();
                            videoControl = (VideoControl) player.getControl("VideoControl");
                            if (videoControl != null) {
                                videoItem = (Item) videoControl.initDisplayMode(VideoControl.USE_GUI_PRIMITIVE, null);
                                form.append(videoItem);
                            }
                            player.start();
                        }
                    } catch (Exception e) {
                        e.printStackTrace();
                        form.append(e.toString() + "\n");
                    }
                }
            }.start();
        }
    }

}



Запустил откомпилировал и ничего. А как вообще тестируются приложения, работающие с камерой?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

  • Прежде чем задать вопрос прочтите это!
  • Литература по Java находится здесь.
  • Литературу по Java обсуждаем здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда

  • FAQ раздела лежит здесь!
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java ME (J2ME) | Следующая тема »


 




[ Время генерации скрипта: 0.0465 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.