【问题标题】:Capture image with python使用python捕获图像
【发布时间】:2017-09-29 16:57:45
【问题描述】:

如何使用 python 捕获图像?我说的是捕获图像,而不是保存特定的视频帧。 通常我们使用它来获取图片。但它给出的是框架,而不是图像

while(True):
      ret, frame = cap.read()
      rgb = cv2.cvtColor(frame, cv2.COLOR_BGR2BGRA)

      cv2.imshow('frame', rgb)
       if cv2.waitKey(1) & 0xFF == ord('q'):
       out = cv2.imwrite('capture.jpg', frame)
       break

【问题讨论】:

  • 这是什么意思?框架就是图像
  • 当我们打开camera.camera有两个选项。要么拍摄图像,要么拍摄视频。当我们拍摄图像时,它比任何特定的视频帧都提供更好的结果。
  • OpenCV 没有这个功能。不幸的是,您需要为完整图像使用不同的库。请注意,这部分是由于 OpenCV 没有实现它,部分是由于相机功能。由于存在吞吐量限制,相机的视频图像尺寸较小;它可以以较小的图像尺寸以 30 FPS(或其他)捕获视频,或者以较大的图像尺寸捕获每秒 3 帧(或其他)的视频。因此,如果它正在录制视频,它只能拍摄视频帧大小的快照。如果您希望能够拍摄完整的图像,您将无法进行实时视频。
  • 您的相机可能会让您设置帧大小;你可以试试例如cap.set(cv2.CV_CAP_PROP_FRAME_WIDTH, frame_width)。您可以看到所有选项on the docs for VideoCapture.set()。有些相机允许您修改这些,这可能对您有用,有些可能不适用。

标签: python image opencv camera


【解决方案1】:

ecapture 可以轻松完成。

可以通过在cmd窗口中运行pip install ecapture来安装Ecapture

用于捕获图像的代码。

from ecapture import ecapture as ec

ec.capture(0,"test","img.jpg")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-28
    • 1970-01-01
    • 2011-04-01
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多