Python中文
首页
教程
问答
标签
搜索
登录
注册
当强制转换时,Python/Opencv Float转换为不正确的Int
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我使用OpenCV+Python在一些视频上自动添加一个覆盖图像。在大多数情况下,我的代码运行得很好,除了从给定的输入视频中收集一些启发。我使用OpenCV<code>VideoCapture.Get()</code>函数收集视频的帧数和FPS,然后分别存储到变量中。得到的数值是<code>float</code>值,我将其转换为<code>int</code>,但问题在于:这些值会下降一个!在</p> <p>完整的代码片段如下:</p> <pre><code>import cv2 as cv inputnm = "testVideo.mp4" # Load the video into memory camera = cv.VideoCapture(inputnm) # Get important heuristics fps = camera.get(cv.CAP_PROP_FPS) maxFrames = camera.get(cv.CAP_PROP_FRAME_COUNT) print type(fps), type(maxFrames) print fps,maxFrames print int(fps), int(maxFrames) quit() </code></pre> <p>这将产生输出:</p> ^{pr2}$ <p>有人能解释一下为什么吗?我尝试过将其转换为<code>numpy.float128</code>,然后再转换为<code>numpy.unit8</code>,但它仍然将值降低一。奇怪。在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>您刚刚看到了浮点的奇妙之处。在</p> <p>Python将数字显示为从浮点开始的对话的接近精度,这对于可视化来说通常足够精确,在许多情况下也适用于计算,但是在像您这样的情况下,精度根本不够。在</p> <p>使用<code>round(maxFrames)</code>。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何在乒乓球比赛中预测球的轨迹,对于AI球拍预测?
5 回答
如何在乒乓球游戏中阻止球
1 回答
如何在乘法和模中不乘空间?
8 回答
如何在乘法和除以2个不同的数字之间进行交换?
6 回答
如何在也是数据一部分的单个字符上拆分大字符串
2 回答
如何在乾草堆中找到針,有更好的解決方案嗎?
4 回答
如何在事件wxWidgets中传递自定义数据
2 回答
如何在事件中使用lambda i=i?
5 回答
如何在事件中心只接收最近的数据
3 回答
如何在事件发生之前保持云函数运行?
9 回答
如何在事件发生后使页面重定向到同一页面
3 回答
如何在事件回调之间保持python生成器的状态
8 回答
如何在事件处理程序(pythonsocket、sphinx)中保留docstring
10 回答
如何在事件处理程序中更改wxRichTextCtrl的光标位置?
8 回答
如何在事件处理程序中访问外部对象?
10 回答
如何在事件循环中将协程打包为正常函数?
5 回答
如何在事件循环之外运行协同程序?
7 回答
如何在事件循环结束时为并发未来的所有线程调用类方法?
5 回答
如何在事件文件中只保留一份摘要?
3 回答
如何在事件模板中添加事件
8 回答