当前位置: 首页 > 面试题库 >

抓取框架NTSCtoUSB加密狗,opencv2,python包装器

冯招
2023-03-14
问题内容

内容:

我一直在玩python的opencv2包装。我想提出一些想法,并在汽车中使用类似于“后视”相机的广角相机。我从一辆报废的撞车中得到了一辆(它有4根电线),我从电线的颜色编码中进行了有根据的猜测,将其连接起来,以便从USB
A型为电源和接地线供电,并从中馈入NTSC Composite + Composite- RCA连接器。我买了NTSC-
USB转换像这样的。

它附带驱动程序和一些现成的VHStoDVD软件。

问题:

我使用在线运行示例示例来进行如下测试:

import numpy as np
import cv2

cam_index=0
cap=cv2.VideoCapture(cam_index)


print cap.isOpened()
ret, frame=cap.read()

#print frame.shape[0]
#print frame.shape[1]

while (cap.isOpened()):
    ret, frame=cap.read()
    #gray=cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)


    cv2.imshow('frame', frame)


    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

#release and close 
cap.release()
cv2.destroyAllWindows()

这是shell的输出:

True

Traceback (most recent call last):
  File "C:/../cam_capture_.py", line 19, in <module>
    cv2.imshow('frame', frame)
error: ..\..\..\..\opencv\modules\highgui\src\window.cpp:261: error: (-215) size.width>0 && size.height>0 in function cv::imshow

>>>

主要观察结果:

屏幕截图

  1. 在控制面板中,USB加密狗在“声音视频和游戏”控制器中显示为“ OEM捕获”。因此,它并不被视为“成像设备”中的简单即插即用网络摄像头

  2. 如果我打开VHStoDVD软件,则需要配置2个方面:

    • 设置为复合
    • 设置为NTSC,则在VHStoDVD应用程序中,模拟摄像机的摄像机馈送显示为OK
    • 当我在FLV中打开设备视频通道(设备捕获)时。设备流只是黑屏,但是如果我打开VHStoDVD软件,而flv正在流式传输,则会使相机的源在FLV上流式传输,而黑屏则显示在VHStoDVD源上。另一个重要的区别是,当Feed在FLV中而不是在VHStoDVD中运行时,大约有0.5秒的延迟。
  3. 当在运行时按照上面的示例代码在上面的示例代码中运行“ cam_capture.py”时,我最终将得到停止错误代码0x0000008e:

详情:

stop: 0x0000008E (0xC0000005, 0xB8B5F417, 0X9DC979F4, 0X00000000 )

ks.sys - Address B8B5F417 base at B8B5900, Datestamp...

beg mem dump
phy mem dump complete

5.如果我尝试打印frame.shape [0]或frame.shape [1],我遇到类型错误,说我无法打印类型无

6.如果尝试使用其他cam_index,则结果始终为false

TLDR:

在“控制面板”中,摄像头设备位于“声音视频和游戏控制器”下方,而不位于“成像设备”下方;

cam_index ==零;

capture.isOpened()=真;

帧大小为无;

如果VHStoDVD在配置了复合NTSC的情况下运行,则摄像机可以正常工作,显然您看不到带有附件的打​​印屏幕的图像,但是请相信我!;)

是否可以通过某种形式的初始化与加密狗的通信开始,从而解决此问题,即模拟VHStoDVD设置(复合+
NTSC)?我以为我可以改善VHStoDVD和加密狗之间的通信开始,但是感觉就像我要超越极限,去做一些我认为是关键转弯解决方案的事情。

欢迎任何有建设性的见解,建议,更正!

谢谢

干杯


问题答案:

好的,经过更深入的调查,最初的怀疑得到了证实,即因为NTSC加密狗没有作为成像设备(它被视为视频控制器,因此类似于电视调谐器卡的仿真),这意味着尽管我们能够调用cam_index
= 0的cv2.VideoCapture,视频频道本身无法传输,因为我们需要定义一堆参数

  1. 编码方式
  2. 框架尺寸
  3. fps速率等

问题是因为该设备不支持作为调用cv2.VideoCapture.set(parameter,value)的成像设备,在原始视频供稿上似乎没有任何更改。

我没有找到解决方案,但找到了解决方法。网上似乎有很多选择。搜索将DV作为网络摄像头或便携式摄像机的关键字。

我使用了DVdriver(http://www.trackerpod.com/TCamWeb/download.htm)(我使用该试用版是因为我很便宜!)。

为什么行得通?

据我所知,DVdriver从设置为视频控制器的设备接收数据(类似于从“ Windows Movie Maker”或ffmpeg捕获的数据),然后通过“
fairydust”在cam_index = 0上输出帧(假定没有其他凸轮)作为“成像设备”网络摄像头。

概要

TLDR使用DVdriver或类似的驱动程序。

我找到了一种解决方法,但我真的很想从基本原理上理解它,并且可能在没有任何其他软件依赖性的情况下从python内部生成类似NTSC加密狗的初始化,但是希望在那之前,这将对那些也在努力或假设它的人有所帮助是硬件问题。

我现在留给你贝克特:曾经尝试过。曾经失败过。不管。再试一次。再次失败。失败了。(!)



 类似资料:
  • 问题内容: 如何在Python OpenCV(numpy)的包装器中获取图像的大小。除了之外还有其他正确的方法吗?如何获得以下格式的尺寸:(宽度,高度)列表? 问题答案: 用于处理图像,因此使用来获取图像大小的正确和最佳方法是。假设您正在使用BGR图像,下面是一个示例: 如果您正在使用二进制图像,它将具有两个维度,因此必须将代码更改为:

  • 本文向大家介绍Python使用Scrapy框架进行抓取,包括了Python使用Scrapy框架进行抓取的使用技巧和注意事项,需要的朋友参考一下 示例 首先,您必须建立一个新的Scrapy项目。输入要存储代码并运行的目录: 要刮擦,我们需要一只蜘蛛。蜘蛛定义了如何刮除某个站点。以下是蜘蛛的代码,该代码遵循指向StackOverflow上投票最高的问题的链接,并从每个页面中抓取一些数据(源): 将您的

  • 本文向大家介绍python抓取搜狗微信公众号文章,包括了python抓取搜狗微信公众号文章的使用技巧和注意事项,需要的朋友参考一下 初学python,抓取搜狗微信公众号文章存入mysql mysql表: 代码: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 本文向大家介绍在Python的Django框架中包装视图函数,包括了在Python的Django框架中包装视图函数的使用技巧和注意事项,需要的朋友参考一下 我们最终的视图技巧利用了一个高级python技术。 假设你发现自己在各个不同视图里重复了大量代码,就像 这个例子: 这里,每一个视图开始都检查request.user是否是已经认证的,是的话,当前用户已经成功登陆站点否则就重定向/account

  • 问题内容: 如何通过python Web抓取框架Scrapy利用代理支持? 问题答案: Scrapy是否可以与HTTP代理一起使用? 是。(从Scrapy 0.8开始)通过HTTP代理下载器中间件提供对HTTP代理的支持。请参阅。 使用代理的最简单方法是设置环境变量。如何完成取决于你的外壳。 如果你想使用https代理并访问https web,要设置环境变量,请遵循以下步骤:

  • 本文向大家介绍实践Python的爬虫框架Scrapy来抓取豆瓣电影TOP250,包括了实践Python的爬虫框架Scrapy来抓取豆瓣电影TOP250的使用技巧和注意事项,需要的朋友参考一下 安装部署Scrapy 在安装Scrapy前首先需要确定的是已经安装好了Python(目前Scrapy支持Python2.5,Python2.6和Python2.7)。官方文档中介绍了三种方法进行安装,我采用的