小编The*_*lar的帖子

OpenCV VideoCapture未打开

我正在尝试在运行Ubuntu 14.04的亚马逊服务器上使用OpenCV的cv2 python绑定,我似乎无法使VideoCapture正常工作.

我尝试打开默认捕获,如下所示:

import cv2
cap = cv2.VideoCapture(0)
cap.isOpened() #Returns false
Run Code Online (Sandbox Code Playgroud)

我在我的本地机器上进行了测试,这是正确的,所以我的开放式CV配置有问题.我尝试了很多东西:

  • 使用我确认的实际文件路径指向.mp4文件
  • 在第二行使用-1和1代替0
  • 安装ffmpeg(来自ppa,因为它在Ubuntu 14.04上默认不可用)并重建OpenCV
  • 完全删除我的OpenCV目录并使用此处的脚本重建
  • 验证并重新安装各种其他库,包括x264,gstreamer和gtk

在这一点上,我有点想法.什么可能出错?

编辑:OpenCV版本是2.4.9.

python opencv ubuntu-14.04

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

cProfile 没有输出

我正在尝试分析使用 PySide 和 OpenCV 编写的应用程序,但分析器出现奇怪的行为。我使用以下行运行我的代码:

python -m cProfile -o output.file repo/src/application_window.py
Run Code Online (Sandbox Code Playgroud)

它往往适用于非常短的程序运行。如果我打开它并加载图像(它是一个动画编辑器),output.file 将按预期显示。但是,如果我实际使用该程序(在动画帧中移动等),则没有输出。它不会生成任何错误消息或崩溃信息 - 只是什么也不生成。如果我尝试将结果写入控制台,也会出现同样的问题 - 有时它只是不产生任何输出。

有什么想法可能导致这种情况吗?

编辑:调用按预期终止 - 但不产生任何输出。它不挂。

Edit2 - 这是application_window.py的主要功能:

def main():
    a = QtGui.QApplication(sys.argv)
    editor = Editor(sys.argv[0])
    editor.show()

    sys.exit(a.exec_())

if __name__ == "__main__":
    main()
Run Code Online (Sandbox Code Playgroud)

Editor是一个相当复杂的QT Widget。所以 application_window 真正做的就是启动 QT 事件循环。

python cprofile

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

将 pdf 从 django-wkhtmltopdf 保存到服务器(而不是作为响应返回)

我正在编写一个 Django 函数,它接受一些用户输入,并为用户生成一个 pdf。但是,生成 pdf 的过程非常密集,我会收到很多重复的请求,所以我想将生成的 pdf 存储在服务器上并在生成它们之前检查它们是否已经存在。

问题是 django-wkhtmltopdf(我用于生成)旨在直接返回给用户,我不确定如何将其存储在文件中。

我有以下内容,可用于在 /pdf 处返回 pdf:

网址.py

urlpatterns = [
    url(r'^pdf$', views.createPDF.as_view(template_name='site/pdftemplate.html', filename='my_pdf.pdf'))
]
Run Code Online (Sandbox Code Playgroud)

视图.py

class createPDF(PDFTemplateView):
    filename = 'my_pdf.pdf'
    template_name = 'site/pdftemplate.html'
Run Code Online (Sandbox Code Playgroud)

所以这可以很好地创建一个pdf。我想要的是从另一个视图调用该视图并保存结果。这是我到目前为止所得到的:

#Create pdf
pdf = createPDF.as_view(template_name='site/pdftemplate.html', filename='my_pdf.pdf')
pdf = pdf(request).render()

pdfPath = os.path.join(settings.TEMP_DIR,'temp.pdf')
with open(pdfPath, 'w') as f:
    f.write(pdf.content)
Run Code Online (Sandbox Code Playgroud)

这将创建 temp.pdf 并且大约是我期望的大小,但文件无效(它呈现为一个完全空白的页面)。

有什么建议?

pdf django wkhtmltopdf

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

标签 统计

python ×2

cprofile ×1

django ×1

opencv ×1

pdf ×1

ubuntu-14.04 ×1

wkhtmltopdf ×1