Gphoto2 не удается сохранить изображение при захвате через Java .jar (Raspberry Pi - Raspbian)

1

Я пишу графическое приложение, которое принимает изображение с камеры, используя пакет gphoto2 в Raspbian. Когда я gphoto2 --capture-image-and-download команду gphoto2 --capture-image-and-download в терминал, камера берет изображение и сохраняет его в текущей папке. Однако, когда я выполняю ту же команду с помощью кнопки в своем Java-коде, камера берет изображение, но оно не сохраняется. Перенаправленный вывод из bash говорит, что изображение сохраняется в камере (с которой я мог справиться), но изображение не сохраняется ни в камере, ни в текущем каталоге, на самом деле она не сохраняется вообще.

Вот код кнопки:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    Runtime com = getRuntime();
    try {
        //Reset USB Device to prevent warnings
        Process mand = com.exec("../../../usbreset /dev/bus/usb/001/005");

        //Capture image
        Process get = com.exec("gphoto2 --capture-image-and-download");

        Send Bash output(s) to text area
        BufferedReader in1 = new BufferedReader(new InputStreamReader(mand.getInputStream()));
        BufferedReader in2 = new BufferedReader(new InputStreamReader(get.getInputStream()));
        String inputLine1;
        while ((inputLine1 = in1.readLine()) != null) {
            msgArea.append(inputLine1 + "\n");
        }
        in1.close();
        String inputLine2;
        while ((inputLine2 = in2.readLine()) != null) {
            msgArea.append(inputLine2 + "\n");
        }
        in2.close();


    } catch (IOException ex) {
        Logger.getLogger(Home.class.getName()).log(Level.SEVERE, null, ex);
    }
}          

Я не могу решить, есть ли проблема в моих командах bash или моем Java-коде. Я пробовал как с картой, так и без нее, присутствующей в камере, и также попробовал с указанным именем файла для изображения, но безрезультатно. Я не уверен, что это важно, но Pi контролируется через PuTTY ssh с пересылкой X11 на ноутбуке Debian. Java написана в Netbeans 8. GPhoto2 - это версия 2.4.14, а камера - Canon EOS 1100D, хотя я подозреваю, что этот последний факт является излишним для требований.

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

Заранее спасибо,

парень

Теги:
netbeans
image
raspberry-pi

1 ответ

1
Лучший ответ

Хорошо, я ответил на свой вопрос.

Выход из bash был отправлен только до момента, когда была сделана фотография. После этого вывод терминала не отправлялся, и поэтому у меня не было ошибки, связанной с разрешением отказа. Таким образом, решение было просто добавить sudo перед командой gphoto2. Простое решение в конце, но разочаровывающая ситуация!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню