当前位置: 首页 > 知识库问答 >
问题:

OpenCV是否可以更改为复合输入?

周学义
2023-03-14

我想知道OpenCV是否能够将摄像头(dev/video1)设置为复合或S-video输入。

我使用的摄像头仅在复合输入中运行,但默认情况下,v4l2在S-Video输入中打开dev/video1。V4l2能够通过QT V4l2 utils应用程序从S视频转换为复合输入。

opencv正在使用v4l从相机捕获图像,我想在代码中使用OpenCV更改为复合输入。那有可能吗?如果不是,解决办法是什么?

提前谢谢。

共有1个答案

司空宣
2023-03-14

您只需使用“v4l2 ctl”更改输入!例如,我在raspberry上使用Python通过OpenCV从S-video捕获视频流:

    import cv, os

    print "Initializing video capture from /dev/video0 ..."
    capture = cv.CaptureFromCAM(0)
    cv.SetCaptureProperty(capture,cv.CV_CAP_PROP_FRAME_WIDTH, 720)
    cv.SetCaptureProperty(capture,cv.CV_CAP_PROP_FRAME_HEIGHT, 576)

    print "Configuring video capture (V4L2) ..."
    os.system("v4l2-ctl -d /dev/video0 -i 5 -s 4 --set-fmt-video=width=720,height=576,pixelformat=4")

与:

  • -d:设备(在我的例子中是/dev/video0),
  • -i:输入。对于我的Easycap(0=CVBS0;1=CVBS1;2=CVBS2;3=CVBS3;4=CVBS4;5=S-VIDEO)
  • -s:norm(0=PAL_BGHIN;1=NTSC_N_443;2=PAL_Nc;3=NTSC_N;4=SECAM;5=NTSC_M;6=NTSC_M_JP;7=PAL_60;8=NTSC_443;9=PAL_M;)
 类似资料:
  • 问题内容: 是否可以“监视”指令上的ui更改?像这样的东西: 问题答案: 是。您可以使用,如果你在属性利用插值。 但是,如果这不是一个插值属性,并且您希望它可以从应用程序中的其他位置更改(绝对不建议这样做,请阅读Common Pitfalls ),那么函数可以返回: 无论如何,对您来说最好的方法可能是更改更改元素类的代码。它何时更改?

  • 我有一段Java代码,它从可选#map的输入参数中包含的集合中删除一个元素 where项目。getDocId()返回一组字符串ID,并保证不为null。 我已经测试过它并有效;如果选项为空或docId不存在于集合中,ret为false。 但是,可选#map是否可以执行此操作并更改成员集的状态并返回Set#删除操作的布尔结果? 我到处找了找,找不到关于这件事的确切答案。

  • 问题内容: 有一个简单的套接字服务器监听端口; 我想知道的是,有可能: 如果客户端发送请求,则服务器将直接处理该请求, 如果客户端发送请求,则服务器将客户端套接字更改为SSLSocket吗? 谢谢 问题答案: 是否可以将普通套接字更改为SSLSocket? 是的。在服务器端,以下工作: 默认情况下会将现有的转换为client-mode 。由于握手仅在您开始使用I / O流进行读/写时才开始,因此仍

  • 问题内容: 的 多重嵌套视图 功能非常好-您可以轻松地从应用程序的一种 状态 跳到另一种 状态 。 有时您可能想更改URL,但有时不需要。我觉得 状态 的概念应该与 route 分开/可选。 这是一个说明我意思的朋克。 这是文档中的一个小工具的分支,下面有2个小更改: 这似乎可行-URL保持不变。同样,这里做了多少多余的工作?这是经过批准/测试的用法吗? 如果您可以省略某个州的信息,那就太好了。

  • 我试图通过修改hashCode()和equals()方法()在HashSet中添加重复的值? 我试过下面的代码 根据我的理解,如果有两个“a”的副本,HashSet将首先获得hashCode()以获得正确的bucket,然后检查equals()的值,如果equals返回true,则不会添加,但如果返回false,则会添加。因此,为了向我的集合添加重复值,我重写equals(),它总是返回false

  • 假设我有一个proto3消息,定义如下,用作gRPC请求(即使用protobuf的二进制编码): 我是否可以更改服务器(即消息的读取器)以使用以下定义,而不破坏现有客户端(即写入程序)的有线兼容性? 在proto2语言指南中,我看到了以下内容: 与兼容。给定重复字段的序列化数据作为输入,期望该字段为的客户端将采用最后一个输入值,如果它是原始类型字段或合并所有输入元素,如果它是消息类型字段。 但是,