- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
__author__ = 'Kyle'
HELP_MESSAGE = """Script: frame_grabber.py
Usage: python frame_grabber.py path/to/video
Requires: OpenCV 2.4.8+
Purpose: Select and save frames from a given video.
Commands:
Key Function
a previous frame
d next frame
q exit
SHIFT + a skip 10 frames forward
SHIFT + d skip 10 frames backwards
s saves current frame
dbl click saves current frame
Controls:
Slider Navigate through the video
"""
# Check if the user has provided a path to a file
# otherwise display the HELP_MESSAGE
import sys
import time as t
# Check if OpenCV module is present
# otherwise stop the application
try:
import cv2
except ImportError as e:
print "Fatal Error: Could not import OpenCV, ", e
exit(-1)
else:
print "Using OpenCV ", cv2.__version__
# these flags may depend on your opencv version:
# in opencv 3.0.0 these flags are implemented as
# cv2.CAP_PROP_POS_FRAMES and
# cv2.CAP_PROP_FRAME_COUNT
CURRENT_FRAME_FLAG = cv2.cv.CV_CAP_PROP_POS_FRAMES
TOTAL_FRAMES_FLAG = cv2.cv.CV_CAP_PROP_FRAME_COUNT
WIN_NAME = "Frame Grabber"
POS_TRACKBAR = "pos_trackbar"
#VIDEO_PATH = 'camera13.h264'
#try:
# VIDEO_PATH = sys.argv[1]
# except IndexError as e:
# print HELP_MESSAGE
# exit(-1)
cap = cv2.VideoCapture("camera13.h264")
if not cap.isOpened():
print "Fatal Error: Could not open the specified file."
exit(-1)
ret, frame = cap.read()
if not ret:
print "Fatal Error: Could not read/decode frames from specified file."
exit(-1)
def dummy():
pass
def save_image():
filename = "image_%0.5f.png" % t.time()
cv2.imwrite(filename, frame)
def seek_callback(x):
global frame
i = cv2.getTrackbarPos(POS_TRACKBAR, WIN_NAME)
cap.set(CURRENT_FRAME_FLAG, i-1)
_, frame = cap.read()
cv2.imshow(WIN_NAME, frame)
def mouse_callback(event,x,y,flags,param):
if event == cv2.EVENT_LBUTTONDBLCLK:
save_image()
def skip_frame_generator(df):
def skip_frame():
global frame
cf = cap.get(CURRENT_FRAME_FLAG) - 1
cap.set(CURRENT_FRAME_FLAG, cf+df)
cv2.setTrackbarPos(POS_TRACKBAR, WIN_NAME, int(cap.get(CURRENT_FRAME_FLAG)))
_, frame = cap.read()
return skip_frame
cv2.namedWindow(WIN_NAME)
cv2.createTrackbar(POS_TRACKBAR, WIN_NAME, 0, int(cap.get(TOTAL_FRAMES_FLAG)), seek_callback)
cv2.setMouseCallback(WIN_NAME, mouse_callback)
actions = dict()
actions[ord("D")] = skip_frame_generator(10)
actions[ord("d")] = skip_frame_generator(1)
actions[ord("a")] = skip_frame_generator(-1)
actions[ord("A")] = skip_frame_generator(-10)
actions[ord("q")] = lambda: exit(0)
actions[ord("s")] = save_image
while True:
cv2.imshow(WIN_NAME, frame)
key = cv2.waitKey(0) & 0xFF
actions.get(key, dummy)()``
最佳答案
好吧,错误告诉您您正在此行中传递数字:
cv2.createTrackbar(POS_TRACKBAR, WIN_NAME, 0,int(cap.get(TOTAL_FRAMES_FLAG)), seek_callback)
ctypes.c_long
;此类型可以表示的最大数量为(2 ** 31)-1 = 2147483647。
TOTAL_FRAMES_FLAG
。现在有很多帧(大约50天@ 50fps),所以它是不正确的。
关于python - 如何解决OverflowError:Python int太大而无法使用opencv转换为C?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31409366/
我刚开始学习用 Python 编写代码。我正在尝试编写一些代码来回答这个欧拉项目问题: 13195 的质因数是 5、7、13 和 29。 数 600851475143 的最大质因数是多少? 我的程序适
根据python文档 exception OverflowError Raised when the result of an arithmetic operation is too larg
当我尝试这个计算时,我得到一个溢出错误,但我不知道为什么。 1-math.exp(-4*1000000*-0.0641515994108) 最佳答案 您要求 math.exp 计算的数字(十进制)超过
最后一天,解决另一个Project Euler我在管理 big for i in range(n) 循环时遇到了麻烦。 我观察到 python 会抛出不同的错误,取决于 x 变量有多大。 这是一个mc
我有一个返回 log10 值的函数。在将它们转换为正常数字时,出现溢出错误。 OverflowError: (34, 'Numerical result out of range') 我检查了日志值,
我正在使用 cartopy 绘制一些 map 。在某些情况下,在我的轴上调用 .set_extent() 时,出现此错误: Traceback (most recent call last): F
我正在尝试使用 pygame 在 Python 中创建一个简单的多人游戏和 socket模块。它只是由两个圆圈组成,由两台不同计算机的 W、A、S、D 键控制。 起初我用 recv() 创建了一个客户
我想模拟一个 OverflowError 因为我想在引发异常之后测试变量的值。但是,我不知道如何使用我正在使用的库复制 OverflowError。我在此特定测试中使用的库是 pysolar.sola
尝试在您的 Python 3.3.2 IDLE 中输入这个,希望我不是唯一想知道并且愿意理解为什么会发生这种情况的人。 >>> n = 331 >>> d = 165.0 # float number
我是 Python 的新手,我遇到了这个问题: 追溯(最近的调用最后): b = 1-exp(n)*erfc(n**0.5) OverflowError:数学范围错误 我需要为不断增加的“n”值计算“
我为一个板设置了一个简单的 MDP,它有 4 种可能的状态和 4 种可能的操作。棋盘和奖励设置如下: 这里,S4 是目标状态,S2 是吸收状态。我在编写的代码中定义了转移概率矩阵和奖励矩阵,以获得该
我正在尝试将大小为 n 位的 int 转换为字节。这将返回溢出错误 尝试将 int 转换为字节以便稍后通过 TCP 使用 def diffie_hellman(): global a,g,n
x=float(raw_input('Enter a number to show its square root')) precise = 0.01 g=x/2.0 while abs(g**2-x
我想找出这里的模式: >>> 1e300 ** 2 OverflowError: (34, 'Result too large') >>> 1e300j ** 2 OverflowError: com
对于一项作业,我们被要求创建一个返回反函数的函数。基本问题是从平方函数创建平方根函数。我想出了一个使用二进制搜索的解决方案和另一个使用牛顿法的解决方案。我的解决方案似乎适用于立方根和平方根,但不适用于
在发这个问题之前,我检查了所有可能重复的问题,尝试了所有的方法仍然无法解决问题。 我在 matplotlib 中有一个简单的绘图。当我注释掉调用 plt.fill_between() 的行时,代码可以
我想写一个函数来计算 (1/n!) * (1! + 2! + 3! + ... + n!) ,其中 n 作为函数的参数,结果也被截断为6 位小数(不四舍五入)。下面是我的代码: def going(n
我正在尝试通过以下代码行在 64 位 Windows 系统上的 Python 2.7 中生成随机数: random_state=numpy_rng.random_integers(1e10) 但我收到
我正在尝试序列化一个大型 python 对象,该对象由使用 pickle/cPickle 和 gzip 的 numpy 数组元组组成。该过程适用于特定大小的数据,之后我收到以下错误: --> 121
我想做什么 我正在使用 PyArrow读取一些 CSV 并将它们转换为 Parquet。我阅读的一些文件有很多列并且占用大量内存(足以使运行该作业的机器崩溃),因此我正在分块读取文件。 这就是我用来生
我是一名优秀的程序员,十分优秀!