小编Tia*_*ian的帖子

如何为极坐标图 matplotlib 创建小刻度

我对下面显示的 matplotlib 绘制的极坐标图的以下两件事感兴趣

  1. 如何在 r 轴上为极坐标图创建小刻度?
  2. 如何将 r 标签移离 r 刻度线,如图所示,一些 r 刻度线与轴接触。

在此处输入图片说明

python matplotlib

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

为什么 OpenCV cap.get(cv2.CAP_PROP_POS_MSEC) 只返回 0?

我最近按照教程在我的 mac 上安装了 OpenCV for PYTHON: http ://www.pyimagesearch.com/2016/12/19/install-opencv-3-on-macos-with-homebrew-the-easy-way /

我编写了一个代码来读取视频文件,它能够检索 fps、时间戳、总数。帧数,在读取的每一帧:

cap = cv2.VideoCapture(particle_name + video_file_type)

while True:
    time = cap.get(cv2.CAP_PROP_POS_MSEC)
    fps = cap.get(cv2.CAP_PROP_FPS)
    total_frames = cap.get(cv2.CAP_PROP_FRAME_COUNT)

    print(time, fps, total_frames)

    ret, frame = cap.read()
    cv2.imshow('frame', frame)

cap.release()
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)

我在视频 A、.mov 格式、Motion JPEG 视频 (dmb1) 编解码器上尝试了此代码。以及视频 B、.avi 格式、Motion JPEG 视频 (MJPG) 编解码器。

对于视频 A 和视频 B,打印的 fps 和total_frames 都是常量。然而,对于视频 A,时间逐渐增加(理应如此),但对于视频 B,时间保持恒定为 0。

我认为可能是视频的格式导致了这种差异,因此我将视频 B 的格式更改为 .mov,同时保留相同的编解码器,但问题仍然存在。

我可以知道如何从视频 B 中检索准确的时间戳吗?

python video opencv

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

如何在 Windows 11 上从 docker 桌面容器显示 GUI 应用程序

从这篇文章中,它指出 Windows 11 原生支持在 wsl 上运行 X11 和 Wayland 应用程序。

我尝试通过 docker 容器执行相同的操作,设置环境变量DISPLAY="host.docker.internal:0.0"并运行 GUI 应用程序(如gedit)。但我却得到了这个错误:

Unable to init server: Could not connect: Connection refused

Gtk-WARNING **: 17:05:50.416: cannot open display: host.docker.internal:0.0
Run Code Online (Sandbox Code Playgroud)

x11 docker wayland windows-subsystem-for-linux windows-11

4
推荐指数
2
解决办法
7799
查看次数

如何在Matplotlib中将轴设置为从角开始

这是我绘制的图表:

# MatPlotlib
import matplotlib.pyplot as plt
# Scientific libraries
import numpy as np

plt.figure(1)

points = np.array([(100, 6.09),
                   (111, 8.42),
                   (119, 10.6),
                   (129, 12.5),
                   (139, 14.9),
                   (149, 17.2),
                   (200, 28.9),
                   (250, 40.9),
                   (299, 52.4),
                   (349, 64.7),
                   (400, 76.9)])

# get x and y vectors
x = points[:,0]
y = points[:,1]
# calculate polynomial
z = np.polyfit(x, y, 3)
f = np.poly1d(z)
# calculate new x's and y's
x_new = np.linspace(x[0], x[-1], 50)
y_new = f(x_new)

plt.plot(x,y,'bo', x_new, y_new)

plt.show() …
Run Code Online (Sandbox Code Playgroud)

matplotlib

3
推荐指数
1
解决办法
4018
查看次数

如何从python包中导入所有功能?

我有这样的目录:

python_scripts/
     test.py
     simupy/
          __init__.py
          info.py
          blk.py
Run Code Online (Sandbox Code Playgroud)

“ blk.py”和“ info.py”是包含多个函数的模块,其中一个是函数“ blk_func(para)”。

在“ __init__.py”中,我包含以下代码:

import os
dir_path = os.path.dirname(os.path.realpath(__file__))

file_lst = os.listdir(dir_path)
filename_lst = list(filter(lambda x: x[-3:]=='.py', file_lst))
filename_lst = list(map(lambda x: x[:-3], filename_lst))
filename_lst.remove('__init__')

__all__ = filename_lst.copy()
Run Code Online (Sandbox Code Playgroud)

我想在“ test.py”中访问函数“ blk_func(para)”以及包中的所有其他函数。因此,我通过将以下代码行放入“ test.py”来导入包:

from simupy import*
Run Code Online (Sandbox Code Playgroud)

但是,为了使用该功能,我仍然必须执行以下操作:

value = blk.blk_func(val_param)
Run Code Online (Sandbox Code Playgroud)

如何导入包simupy,以便仅通过调用函数名称就可以直接在“ test.py”中访问该函数?即

value = blk_func(val_para)
Run Code Online (Sandbox Code Playgroud)

python python-import python-3.x

3
推荐指数
1
解决办法
4926
查看次数

如何确定scipy.integrate.simps还是numpy.trapz?

我有一组要点,当我作图时,得到以下图表。我想在图表下找到面积,但是不确定scipy.integrate.simps还是numpy.trapz是否更合适。

有人可以为我提供这两个函数之间的数学背景的建议,从而得出关于哪个函数更准确的结论吗?

在此处输入图片说明

python numpy matplotlib scipy

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

如何仅对图像的一部分执行 2D 正弦拟合?

我有一堆图像,看起来像下面的图像,边缘厚度各不相同。

在此处输入图片说明

我想通过 python scipy.optimize.curve_fit 函数将正弦函数拟合到这个图像。然而,如图所示,条纹图案仅限制在圆形区域内。那我该如何进行拟合呢?

python image-processing scipy cv2

0
推荐指数
1
解决办法
396
查看次数