Intelプロセッサを搭載した古いMacブック(おそらく2009年夏、モデル5,2)の仮想ボックスを介して、lubuntu 12.10でpython 2.7.3を使用してpythonスクリプトを実行するのに問題があります。
スクリプトは、コマンド ラインで指定したビデオ ファイルを検出しているようですが、何が問題なのか正確にはわかりません。トレースバックとコード、およびエラーの原因となったコードを次に示します。
1
src_dir = sys.argv[1]
out_dir = sys.argv[2]
bb_dir = sys.argv[3]
vid_name = sys.argv[4]
vid_src_name = src_dir + vid_name
vid_dest_name = out_dir + vid_name
vid_bb_name = bb_dir + vid_name
vid=video.asvideo(vid_src_name,down_factor)
2
if hasattr(video_source, 'shape') and hasattr(video_source, 'dtype'):
if len(video_source.shape) == 3:
video_source.shape = video_source.shape + (1,)
vshape = video_source.shape
vdtype = video_source.dtype
vid = Video(frames=vshape[0], rows=vshape[1], columns=vshape[2], bands=vshape[3], dtype=vdtype, initialise=False)
vid.V = video_source
return vid
if not os.path.exists(video_source):
raise IOError(video_source + ' not found')
(unusedfh,sample_filename) = tempfile.mkstemp()
cmd = 'ffmpeg -i "' + video_source + '" -vframes 1 ' + sample_filename+' %d' + image_ext + ' 2> /dev/null > /dev/null'
sample_filename = sample_filename + '1' + image_ext
subp.call(cmd, shell = True)
sample_img = sp.misc.imread(sample_filename)
3.
im = Image.open(name)
4.
if mode != "r":
raise ValueError("bad mode")
if isStringType(fp):
import __builtin__
filename = fp
fp = __builtin__.open(fp, "rb")
出力:
cody@cody-VirtualBox:~/Dropbox/annotation/Template_Extractor$ python template_extract_new.py "/home/cody/Work/annotate/UCF50/video/PushUps" "/home/cody/Dropbox/annotation/template/Pushups" "/home/cody/Dropbox/annotation/bb/PushUps" "/v_PushUps_g01_c01.avi"
Traceback (most recent call last):
File "template_extract_new.py", line 192, in <module>
vid=video.asvideo(vid_src_name,down_factor)
File "/home/cody/Dropbox/annotation/Template_Extractor/istare/video.py", line 135, in asvideo
sample_img = sp.misc.imread(sample_filename)
File "/usr/lib/python2.7/dist-packages/scipy/misc/pilutil.py", line 102, in imread
im = Image.open(name)
File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 1952, in open
fp = __builtin__.open(fp, "rb")
IOError: [Errno 2] No such file or directory: '/tmp/tmpklcTe61.bmp'
エラーに示されているファイルは毎回変更され、実行前には存在しませんが、コマンドの実行後には存在します。
uterm、uxterm、および lxterminal から実行してみました (とにかく試してみる以外に何もしないことがわかっており、さらに uterm でのコピー アンド ペーストもありません)。