我有一个包含数字的字符串列表,我找不到对它们进行排序的好方法.
例如,我得到这样的东西:
something1
something12
something17
something2
something25
something29
Run Code Online (Sandbox Code Playgroud)
用这个sort()方法.
我知道我可能需要以某种方式提取数字,然后对列表进行排序,但我不知道如何以最简单的方式进行.
我经常使用python来处理数据目录.最近,我注意到列表的默认顺序已经变为几乎荒谬的东西.例如,如果我在包含以下子目录的当前目录中:run01,run02,... run19,run20,然后我从以下命令生成一个列表:
dir = os.listdir(os.getcwd())
Run Code Online (Sandbox Code Playgroud)
然后我通常按此顺序获得一个列表:
dir = ['run01', 'run18', 'run14', 'run13', 'run12', 'run11', 'run08', ... ]
Run Code Online (Sandbox Code Playgroud)
等等.订单曾经是字母数字.但是这个新订单现在已经和我保持了一段时间.
什么是确定这些列表的(显示)顺序?
我正在尝试使用一系列.png图像制作视频.我找到了这个Python脚本,但我不完全确定如何使用它:
https://sites.google.com/site/timelapsepy/home
我也试着调查opencv,但它似乎没有正确安装给我.有关将一些图像串联在一起以创建延时视频的简单程序的任何想法?如果可能的话,我想使用Python.
fourcc = cv2.cv.CV_FOURCC(*'XVID')
Run Code Online (Sandbox Code Playgroud)
以上行用于avi视频.以同样的方式,我们在Ubuntu中使用哪种编解码器用于mp4视频?
我正在编写一个python/django应用程序,它需要进行图像处理,然后将图像组合成一个视频(每个图像都是一个帧).图像处理很容易.我正在使用PIL,但是对于转换为视频部分,我被卡住了.我发现pyffmpeg但似乎只是将视频解码为帧,而不是相反.虽然我可能错过了什么.我也听说pythonMagick(imagemagick包装器)可以做到这一点,但我似乎无法在文档中找到有关编码的任何内容.
这是在linux服务器上运行的,必须是python(因为这是应用程序所在的).
我该怎么用?
我正在尝试使用Keras的Image包读取图像文件。
这是我的代码。
from keras.preprocessing import image
img_path = 'test/test_image.jpg' # This is an image I took in my kitchen.
img = image.load_img(img_path, target_size=(224, 224))
Run Code Online (Sandbox Code Playgroud)
运行代码时,出现以下错误。
anaconda3/lib/python3.5/site-packages/PIL/ImageFile.py in load(self)
238 if not self.map and not LOAD_TRUNCATED_IMAGES and err_code < 0:
239 # still raised if decoder fails to return anything
--> 240 raise_ioerror(err_code)
241
242 # post processing
anaconda3/lib/python3.5/site-packages/PIL/ImageFile.py in raise_ioerror(error)
57 if not message:
58 message = "decoder error %d" % error
---> 59 raise IOError(message + " when reading …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Google Colab做某事。特别是我想使用ffmpeg包从图像创建视频。
但是ffmpeg似乎工作不正常。这是我笔记本的链接:https : //colab.research.google.com/drive/1YP-DSRoZO-Afz03tjwPfoxA-Kttm-2vK
该输出(在最后一个块中)应该是400 400而不是0 0
frame_width = int(cap.get(3))
frame_height = int(cap.get(4))
print frame_width, frame_height
Run Code Online (Sandbox Code Playgroud)
相同的代码在Azure笔记本以及本地计算机上都可以正常工作。
可能是什么原因呢?以及如何纠正呢?