javaからpyファイルを実行するようにしたいです。
ProcessBuilder processBuilder = new ProcessBuilder("python", "a.py");
processBuilder.start();
上の文をメインメソッドに書いて、javaを実行するとエラーは出ないんですが、うまくa.py(カメラを起動するプログラム)が実行されません。
回答よろしくお願いします。
a.pyってどこにありますか?
同じディレクトリにあります。
カメラとは何のカメラでしょうか。
環境、状態、仕様 明示してください。
他者が再現できる情報がほぼありません。
ごめんなさい
とりあえず、今はパソコンのカメラとなっています
質問は編集できます。
そもそもそのPythonのプログラム単体では正常に想定の結果は得られているのでしょうか。
単体で動くのは確認済みです
結局はJavaからすれば外のことですから何もしなければ投げれたかどうかだけが返ってくるのではないでしょうか。
try-catchでException捕捉するようにされては。
※提示されたコードのままではJavaも動かないはずなので、なるべく全体提示しましょう
回答ありがとうございます。
解決しました。
なるほど。ではきちんと締めてください。
https://teratail.com/help#resolve-myself
皆さん回答ありがとうございました。
最初のうちにできなくて、pythonのファイルを変えた際、単体で動かなくしていたみたいです。
単体で動くようにしたらうまく実行できるようになりました。
質問する前、javaがおかしかったのに、pythonを変えて動かないようにしてしまったことが間違いでした。javaをなおしたあと、質問して先ほどpythonを直したら動きました。
具体的な詳細が書かれていない質問で申し訳ございませんでした。
次からコードもつけて、質問するように心がけます。
皆さん回答ありがとうございました。
よく読んでください。
>"自分で投稿した質問にも回答する事が可能です"。質問文の内容を編集したりせず、"回答を付け"ベストアンサーをクリックし解決済みにしてください。
コードを乗っけときます。
javaのコード
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
// TODO 自動生成されたメソッド・スタブ
ProcessBuilder processBuilder = new ProcessBuilder("python", "a.py");
processBuilder.start();
}
}
pythonのコード(a.py)
import cv2
import numpy as np
# Webカメラから入力を開始
cap = cv2.VideoCapture(0)
while True:
# 画像を取得
_, frame = cap.read()
# ウィンドウに画像を出力 --- (*2)
cv2.imshow('RED Camera', frame)
# Enterキーが押されたらループを抜ける
if cv2.waitKey(1) == 13: break
cap.release() # カメラを解放
cv2.destroyAllWindows() # ウィンドウを破棄
いえ、ですから、ここは「質問への追記・修正の依頼」のコメント欄です。
よく見てください。
↓にあるでしょう。「回答は回答欄に入力しましょう」 と。
ごめんなさい。一番最初のはm.ts10806さんの投稿を見る前に投稿していました。
コードをコメント欄に投稿したのはよく確認していなかったからです。
回答1件
あなたの回答
tips
プレビュー