可能重复:
如何在Python中将函数名称作为字符串?
我知道我可以这样做:
def func_name():
print func_name.__name__
Run Code Online (Sandbox Code Playgroud)
这将把函数的名称作为'my_func'返回.
但是当我进入函数时,有没有办法直接称它为一般?就像是 :
def func_name():
print self.__name__
Run Code Online (Sandbox Code Playgroud)
Python会理解我想要代码层次结构的上半部分?
我想使用gstreamer绑定在Python中显示图像,但不使用GTK +(我在ARM上).
我知道如何用python和gstreamer听音乐:
#!/usr/bin/python
# Simply initiates a gstreamer pipeline without gtk
import gst
import gobject
import sys
mainloop = gobject.MainLoop()
my_bin = gst.element_factory_make("playbin")
my_bin.set_property("uri", "file:///home/Lumme-Badloop.ogg")
my_bin.set_state(gst.STATE_PLAYING)
try:
mainloop.run()
except KeyboardInterrupt:
sys.exit(0)
Run Code Online (Sandbox Code Playgroud)
我知道如何在命令行中使用gstreamer显示图像:
gst-launch-0.10 filesrc location=image.jpeg ! jpegdec ! freeze ! videoscale ! ffmpegcolorspace ! autovideosink
Run Code Online (Sandbox Code Playgroud)
我想要的是完全相同的东西,但使用Python.
我尝试了一些东西,代码运行没有错误,但屏幕上没有任何显示.
pipe = gst.Pipeline("mypipe")
source = gst.element_factory_make("filesrc", "filesource")
demuxer = gst.element_factory_make("jpegdec", "demuxer")
freeze = gst.element_factory_make("freeze", "freeze")
video = gst.element_factory_make("videoscale", "scaling")
ffm = gst.element_factory_make("ffmpegcolorspace", "muxer")
sink = gst.element_factory_make("autovideosink", "output")
pipe.add(source, demuxer, freeze, video, ffm, …Run Code Online (Sandbox Code Playgroud) 我目前正在尝试从使用GoPro录制的MPEG-4文件中提取每个帧时间戳.
我想要相机捕获帧的确切时间,以便稍后将其与计算机视觉算法结合起来.
我知道输出帧速率是25 fps.我使用ffmpeg和ffprobe以不同的方式提取了pts,但它们都显示出太完美的结果让我相信它们.
每个帧/包具有精确的0.04秒内部(或3600英寸单位),足够方便地匹配完美的25 fps.
我到目前为止使用的命令是:
ffmpeg -i 3_96025.MP4 -an -vf showinfo %10d.png 2> res.txt
Run Code Online (Sandbox Code Playgroud)
我也试过用
ffmpeg -i 3_96025.MP4 **-copyts** -an -vf showinfo %10d.png 2> res.txt
Run Code Online (Sandbox Code Playgroud)
但结果完全一样.
我也试过ffprobe:
ffprobe -i 396025.MP4 -show_packets -select_streams v
Run Code Online (Sandbox Code Playgroud)
我得到的间隔也很完美.
我很确定gopro无法以如此完美的方式维持25 fps.另外,我记录了一个计时器,我可以看到每个帧不完全匹配0.04秒的间隔. 那么我有没有办法真正看到每帧被捕获的时间?
这是我用ffmpeg获得的输出的一部分供参考:
frame= 42 fps= 26 q=0.0 size=N/A time=00:00:01.36 bitrate=N/A
n:42 pts:151200 pts_time:1.68 pos:3232584 fmt:yuv420p sar:1/1 s:1280x960 i:P iskey:0 type:B checksum:6A83E942 plane_checksum:[1C859E55 79A4ED3E 28E25DA0]
[Parsed_showinfo_0 @ 0037dea0] n:43 pts:154800 pts_time:1.72 pos:3255334 fmt:yuv420p sar:1/1 s:1280x960 i:P iskey:0 type:B checksum:5736F4C1 plane_checksum:[ACAD00D0 06FFDE34 …Run Code Online (Sandbox Code Playgroud) 我在Windows下用Python设计了一个小应用程序,它使用opencv.我正在尝试创建一个可执行文件,以便任何人都可以安装和使用它,而无需安装python/opencv/numpy...
我尝试使用py2exe.它实际上创建了一个.exe文件,即使我在构建期间有一个警告:
*** copy dlls ***
copying C:\Windows\system32\MSVFW32.dll ->
...
The following modules appear to be missing
['cv2.cv']
Run Code Online (Sandbox Code Playgroud)
当我尝试使用命令行运行.exe文件时,我看到以下消息:
ImportError: numpy.core.multiarray failed to import
Run Code Online (Sandbox Code Playgroud)
我的setup.py文件非常简单:
# creating executable here
from distutils.core import setup
import py2exe, sys, os
sys.argv.append('py2exe')
setup(
options = {'py2exe': {'bundle_files': 1}},
console=['facemovie.py'],
zipfile = None,
)
Run Code Online (Sandbox Code Playgroud)
知道如何解决这个问题吗?这是我第一次部署,我可能会遗漏一些东西.
谢谢 !
我有一个使用包含大量浮点数的对象的java程序.事情是出于优化原因,我需要将此代码的一部分转换为C.
对于基准测试,我已经在C中转换了所需的方法.而不是将对象作为输入,它现在采用那些浮点数组.
我将这些数组保存在Java文件中,以便从我的C代码中轻松访问它.问题是,Java浮动和C浮动显然是完全不同的,我在我的C代码中得到虚拟值.
我没有在互联网上找到任何可以帮助我完成这项任务的资源. 我确实找到了这个,但它适用于C++,我无法访问这些类.
你有什么建议吗?我想我可以开发某种转换器,但可能需要一些时间,而且可能有更好的在线解决方案.
谢谢,
编辑:
我使用DataOutputStream及其writeFloat方法保存float数组.
我会有一个非常简单的问题,但现在找不到任何合适的自动化解决方案.
我开发了一种算法,可以在Python中执行很多东西(实际上是图像处理).
我现在要做的是优化它.为此,我很乐意创建一个算法图.
实际上是一种UML图表或顺序图表,其中函数将与输入和输出显示.
我的算法并不意味着复杂的东西,主要基于a = f(b)操作(没有数据库,硬件,服务器,...)
你有什么提示吗?
谢谢提前!
对于那些有云开发经验的人来说,这个问题可能显得愚蠢,但是从桌面世界来看,我无法自己找出解决方案.我有一堆使用opencv的代码,其中一些带有api.
问题是,是否可以在远程服务器上运行opencv(假设是heroku或S3)?
我认为唯一的方法是在代码中发送任何依赖(并且有很多)?
我在Python中开发.
谢谢 !
编辑:
我的第一个想法就是这个:https: //github.com/jlengrand/FaceMovie
我正在开发一个小型应用程序,能够自动检测图像中的面部,使它们居中并从中创建一部电影.但作为一名计算机工程师,我有一大堆简单的想法可以在云中完成.
我意识到这种事情的数据传输可能是巨大的,你可能比我更好地回答这些东西是否可能.
我正在考虑通过降低从云上某处拍摄图像的图像质量来"减少"这种有效载荷的方法吗?(picasa专辑,...)
让我知道,事实上,我对任何可能性持开放态度.
关于我的语法我有一个小问题.我想解析字符串,如下所示:
"(ICOM LIKE '%bridge%' or ICOM LIKE '%Munich%')"
Run Code Online (Sandbox Code Playgroud)
我最终得到了以下语法(比我知道的要复杂得多):
//旨在解析完整的BQS形成的查询
grammar Logic;
options {
output=AST;
}
tokens {
NOT_LIKE;
}
/*------------------------------------------------------------------
* PARSER RULES
*------------------------------------------------------------------*/
// precedence order is (low to high): or, and, not, [comp_op, geo_op, rel_geo_op, like, not like, exists], ()
parse
: expression EOF -> expression
; // ommit the EOF token
expression
: query
;
query
: term (OR^ term)* // make `or` the root
;
term
: factor (AND^ factor)*
;
factor
: (notexp -> …Run Code Online (Sandbox Code Playgroud) 在学习了节点,javascript和其他所有其他方法之后,我终于要发布我的第一个Web应用程序了.所以我订阅了亚马逊网络服务并创建了一个微型实例,计划在第一年免费套餐,以便让我向全世界提供应用程序.
我更关心隐藏成本.我知道,免费套餐每月为Amazon EC2 EBS提供100万次I/O请求.
事情是,我开始测试我的应用程序ec2实例,检查一切运行正常; 我已经有超过10万个I/O请求.到目前为止,我基本上是唯一一个使用它的人(实例运行了37个小时).
所以我非常害怕如果我的应用程序获得一些流量会发生什么,我不希望在月底有一个巨大的意外账单.
我发现它非常令人惊讶,因为我主要提供静态的东西,我的服务器端代码包括:
您对如何大幅降低IO有任何建议吗?到目前为止我没有使用任何其他亚马逊服务,也许我错过了什么?
或者也许亚马逊的免费等级在我的情况下还不够,但那么它能够做到什么呢?我的意思是,我的应用程序毕竟非常简单.
我很高兴能为你提供任何帮助
谢谢!
我们已经面对这个问题已经有好几个月了,到目前为止我们似乎找不到任何解决方案(互联网上关于人们遇到同样问题的相关主题并不多).
我的团队正在使用Eclipse.对于我们的一些Maven poms,我们需要安装一个特定的m2e连接器.我们得到的错误是:
Plugin execution not covered by lifecycle configuration: org.codehaus.mojo:build-helper-maven-plugin:1.12:add-test-source (execution: add-source, phase: generate-sources)
Run Code Online (Sandbox Code Playgroud)
Eclipse提供安装额外的连接器来解决问题.它可以安装,实际上我们的Maven错误会在重新启动应用程序后消失.要安装的特定插件是build-helper-maven-plugin.
但是,这个安装也有一个有趣的效果,可以完全删除eclipse中的junit集成.运行测试变得不可能,并且所有与junit相关的上下文/视图/透视图/设置都不复存在.尝试再次安装时,"安装新软件"视图表明已安装测试集成.
现有的junit视图现在显示以下错误:
Could not create the view: org.eclipse.jdt.junit.ResultView
Run Code Online (Sandbox Code Playgroud)
到目前为止,我们唯一的解决方案是始终保持eclipse的备份,并在maven运行一次后简单地替换整个安装.
这是否发生在任何人身上,或者有人能指出我们如何解决这个问题?
这个问题可以在Neon 1和2上重现,既可以用于默认的eclipse,也可以用于RCP开发人员的味道