小编use*_*014的帖子

OpenCV VideoCapture 针对不同版本返回奇怪的帧偏移

我正在使用opencv-python并且当我执行以下代码时:

index = 0
cap = cv2.VideoCapture(video_path)
while True:
    offset = cap.get(cv2.CAP_PROP_POS_MSEC)
    print(cv2.__version__, index, offset)

    ok, frame = cap.read()
    if not ok:
        break
    index += 1
Run Code Online (Sandbox Code Playgroud)

我得到以下输出:

3.4.7 0 0.0
3.4.7 1 33.36666666666667
3.4.7 2 66.73333333333333
3.4.7 3 100.10000000000001
3.4.7 4 133.46666666666667
Run Code Online (Sandbox Code Playgroud)

如果我在 version 上执行此代码3.4.8.29,我会得到以下输出:

3.4.8 0 0.0
3.4.8 1 0.0
3.4.8 2 33.36666666666667
3.4.8 3 66.73333333333333
3.4.8 4 100.10000000000001
Run Code Online (Sandbox Code Playgroud)

如果我在版本上执行它,4.5.2.52我会得到:

4.5.2 0 0.0
4.5.2 1 0.0
4.5.2 2 0.0
4.5.2 3 0.0
4.5.2 …
Run Code Online (Sandbox Code Playgroud)

python opencv python-3.x

8
推荐指数
1
解决办法
868
查看次数

numpy - 使用一些预先计算的地图有效地将值从矩阵复制到矩阵

我有一个大小为I*J的输入矩阵A.

并且输出矩阵B的大小为N*M.

还有一些预先计算出的大小为N*M*2的地图,它决定了B中的每个坐标,它们在A中进行协调.地图没有我可以使用的特定规则或线性.只是一张似乎随机的地图.

矩阵非常大(~5000*~3000)因此创建映射矩阵是不可能的(5000*3000*5000*3000)

我设法使用简单的地图和循环:

for i in range(N):
    for j in range(M):
        B[i, j] = A[mapping[i, j, 0], mapping[i, j, 1]]
Run Code Online (Sandbox Code Playgroud)

我设法使用索引来做到这一点:

B[coords_y, coords_x] = A[some_mapping[:, 0], some_mapping[:, 1]]
# Where coords_x, coords_y are defined as all of the coordinates:
# [[0,0],[0,1]..[0,M-1],[1,0],[1,1]...[N-1,M-1]]
Run Code Online (Sandbox Code Playgroud)

这样做效果更好,但仍然有点慢.

我有无限的时间来计算映射或任何其他效用计算.但是在这些预先计算之后,这种映射应该尽可能快地进行.

目前,我看到的唯一其他选择只是在C中重新实现这一点或更快...

(只是为了说清楚是否有人好奇,我用一些编码创建了一些其他形状不同的图像.但是它的'映射非常复杂,并不是简单或线性可以使用的东西)

python optimization numpy matrix python-3.x

7
推荐指数
1
解决办法
192
查看次数

在Python中没有可见窗口的OpenGL渲染视图

我需要渲染一些场景.我设法使用pyopengl和pygame在python中完成它.问题是它会在短时间内创建一个窗口.

我想渲染相同的图像并保存它,而不创建一个可见的窗口(或者可能根本没有创建一个窗口,甚至没有pygame).

import cv2
import numpy as np
import pygame
from pygame.locals import *
from OpenGL.GL import *
from OpenGL.GLU import *

def main():
    DISPLAY_WIDTH = 900
    DISPLAY_HEIGHT = 900

    pygame.init()
    pygame.display.set_mode((DISPLAY_WIDTH, DISPLAY_HEIGHT), DOUBLEBUF | OPENGL)
    gluPerspective(90, (DISPLAY_WIDTH / DISPLAY_HEIGHT), 0.01, 12)

    glEnable(GL_TEXTURE_2D)
    glEnable(GL_DEPTH_TEST)
    glDepthFunc(GL_LEQUAL)

    glRotatef(-90, 1, 0, 0) # Straight rotation
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
    glRotatef(285, 0, 0, 1) # Rotate yaw
    glTranslatef(-5, -3, -2) # Move to position

    # Draw rectangle
    glBegin(GL_QUADS)
    glColor3f(1, 0, 0)
    glVertex3f(2, 2, 0)
    glVertex3f(2, …
Run Code Online (Sandbox Code Playgroud)

python opengl pygame pyopengl opengl-compat

7
推荐指数
1
解决办法
1330
查看次数

AWS ALB - 防止使用 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

我使用 AWS ALB。我将其配置为最严格的安全策略,即“FS 1.2 res”,并且如此处所述,仍然支持ECDHE-RSA-AES128-SHA256ECDHE-RSA-AES256-SHA384

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384

这些被认为是弱者。有没有办法在使用 AWS 时避免支持它们?

更新:AWS 添加了 ELBSecurityPolicy-FS-1-2-Res-2020-10 来满足需求

amazon-web-services amazon-elb tls1.2

7
推荐指数
1
解决办法
5731
查看次数

为什么protobuf在内存中比python中的普通dict + list小?

我在嵌套的 dict/list 中有一个大型的原始类型结构。结构相当复杂,并不重要。

如果我用 python 的内置类型 ( dict/ list/ float/ int/ str) 表示它需要 1.1 GB,但如果我将它存储protobuf并加载到内存中,它会小得多。总共约 250 MB。

我想知道这怎么可能。与某些外部库相比,python 中的内置类型是否效率低下?

编辑:结构是从 json 文件加载的。所以对象之间没有内部引用

python json protocol-buffers python-3.x

7
推荐指数
1
解决办法
263
查看次数

cscope是符号链接的文件

我有一个包含多个文件的源目录.其中一些是其他文件的符号链接.

我创建了一个cscope.files文件.但是当我执行cscope时.它抱怨符号链接的文件:

cscope: cannot find file /home/bla/source/file.cc
Run Code Online (Sandbox Code Playgroud)

我认为这不是很好,但也许正确的方法是更改​​"查找"脚本,只是编写符号链接的目的地?

linux vim bash symlink cscope

6
推荐指数
1
解决办法
3284
查看次数

GLFW在Debian上失败(使用Python)

我试图使问题尽可能重现。因此,这是docker命令:

docker run --name headless_test -ti python:3.6-jessie /bin/bash
Run Code Online (Sandbox Code Playgroud)

在docker内部执行以下行:

apt update && apt install -y git xvfb xorg-dev cmake
pip3 install glfw
mkdir /projects
git clone https://github.com/glfw/glfw.git /projects/glfw
cd /projects/glfw
cmake -DBUILD_SHARED_LIBS=ON .
make
export PYGLFW_LIBRARY=/projects/glfw/src/libglfw.so
xvfb-run python -c "import glfw; glfw.init(); glfw.window_hint(glfw.VISIBLE, False); glfw.create_window(100, 100, 'hidden window', None, None)"
Run Code Online (Sandbox Code Playgroud)

失败并显示以下错误:

GLX: Failed to find a suitable GLXFBConfig
Run Code Online (Sandbox Code Playgroud)

执行xvfb-run glxinfo(在安装之后mesa-utils)将返回以下内容:

libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Error: …
Run Code Online (Sandbox Code Playgroud)

opengl glfw glx xvfb

6
推荐指数
0
解决办法
103
查看次数

Bitbucket Cloud - 防止在存储库中创建标签

我试图阻止将任何标签推送到存储库

我尝试使用“分支权限”来阻止创建*分支,但它似乎不会影响标签。有任何想法吗?

bitbucket

6
推荐指数
1
解决办法
2443
查看次数

构建时如何调试 docker-compose 缓存未命中

我正在执行相同的docker-compose build命令,我发现它错过了缓存

Building service1
Step 1/31 : FROM node:10 as build-stage
 ---> a7366e5a78b2
Step 2/31 : WORKDIR /app
 ---> Using cache
 ---> 8a744e522376
Step 3/31 : COPY package.json yarn.lock ./
 ---> Using cache
 ---> 66c9bb64a364
Step 4/31 : RUN yarn install --production
 ---> Running in 707365c332e7
yarn install v1.21.1
..
..
..
Run Code Online (Sandbox Code Playgroud)

如您所见,缓存已丢失,但我不明白为什么 调试更改并尝试找出原因的最佳方法是什么

编辑:问题不是调试我的具体问题。但是我一般如何调试这种问题。我怎么知道为什么 docker-compose 认为事情发生了变化(尽管我很确定没有任何变化),哪些文件/命令/结果不同?

docker docker-compose

6
推荐指数
1
解决办法
638
查看次数

uWSGI - 监听队列中打开连接的监控列表

我收到错误

"* uWSGI listen queue of socket ":8000" (fd: 3) full !!! (101/100) *"

当它发生时,似乎有些东西卡住了,并且没有提供任何请求。

有没有办法让我转储当前请求或待处理请求列表供我调试?

python uwsgi

6
推荐指数
1
解决办法
306
查看次数