47

Web カメラから 1 つの画像をキャプチャして、ディスクに保存したいと考えています。これを Java または Python (できれば Java) で実行したいと考えています。64 ビットの Win7 と 32 ビットの Linux の両方で動作するものが必要です。

編集:2.xではなく、Python 3.xを使用しています

他のどこでも、この質問が人々を混乱させるように求めているのを目にするので、いくつかのことを明示的に述べます。

  • 処理を使用したくない
  • 上記以外の言語を使用したくない
  • この画像を何らかの形で画面に表示したい
  • ウェブカメラからのライブ ビデオ フィードを画面に表示したくない、またはそのようなフィードをハード ドライブに保存したくない
  • Java Media Framework は時代遅れです。提案しないでください。
  • 私はJavaCVを使用したくありませんが、どうしても必要な場合は、必要なOpenCVライブラリのファイルを正確に知りたいです. PATH. すべてが 1 つのディレクトリに含まれている必要があります)
  • 必要に応じて 64 ビットの Win7 コンピューターで Eclipse を使用できますが、32 ビットの Linux でもコンパイルして使用できる必要があります。
  • 私がこの主題に関連する形や形で何かを知っているかもしれないし、知らないかもしれないと思うなら、私はそれを知らないと仮定して教えてください

EDIT2: Python 2.7 と pygame 1.9.1 を使用して、Froyo の pygame の例を Linux で動作させることができました。pygame.camera.camera_list() 呼び出しは機能しませんでしたが、残りの例では不要でした。ただし、cam.set_controls() (ドキュメントはこちらhttp://www.pygame.org/docs/ref/camera.htmlにあります) を呼び出して輝度を上げる必要があったため、実際には何も表示されませんでした。私が捉えた画像。

また、cam.get_image() メソッドと pygame.image.save() メソッドを 3 回呼び出してから、最初の呼び出しのペアで取得したと思われる画像を実際に保存する必要があります。彼らは奇妙なバッファに詰まっているように見えました. 基本的に、cam.get_image() を 1 回呼び出す代わりに、画像をキャプチャするたびに 3 回呼び出す必要がありました。その後、pygame.image.save() を呼び出しました。

残念ながら、後述のとおり、pygame.camera は Linux でのみサポートされています。私はまだWindows用のソリューションを持っていません。

4

7 に答える 7

80

@thebjornは良い答えを出しました。しかし、より多くのオプションが必要な場合は、OpenCV、SimpleCV を試すことができます。

SimpleCVの使用(python3.x ではサポートされていません):

from SimpleCV import Image, Camera

cam = Camera()
img = cam.getImage()
img.save("filename.jpg")

OpenCVを使用:

from cv2 import *
# initialize the camera
cam = VideoCapture(0)   # 0 -> index of camera
s, img = cam.read()
if s:    # frame captured without any errors
    namedWindow("cam-test",CV_WINDOW_AUTOSIZE)
    imshow("cam-test",img)
    waitKey(0)
    destroyWindow("cam-test")
    imwrite("filename.jpg",img) #save image

pygame の使用:

import pygame
import pygame.camera

pygame.camera.init()
pygame.camera.list_cameras() #Camera detected or not
cam = pygame.camera.Camera("/dev/video0",(640,480))
cam.start()
img = cam.get_image()
pygame.image.save(img,"filename.jpg")

OpenCVをインストールします。

install python-opencv bindings, numpy

SimpleCVをインストールします。

install python-opencv, pygame, numpy, scipy, simplecv

SimpleCVの最新バージョンを入手する

pygameをインストールします。

install pygame
于 2012-06-19T05:29:54.693 に答える
20

Windows では、pygame を使用して Web カメラを簡単に操作できます。

from VideoCapture import Device
cam = Device()
cam.saveSnapshot('image.jpg')

Linuxでpygameを使用したことはありません(私のLinuxボックスはすべてXのないサーバーです)が、このリンクが役立つかもしれませんhttp://www.jperla.com/blog/post/capturing-frames-from-a-webcam- Linux で

于 2012-06-19T05:08:17.573 に答える