OpenCVのビデオ作成機能の使用に小さな問題があります。
同じ画像の場合、必要な出力サイズに応じて奇妙な出力が得られます。
これが私が得ることができる結果の例です。
http://www.youtube.com/watch?v=1wm8VjyfdyA&feature=youtu.be
私はいくつかの異なる画像のセットを、異なるコンピューターで試しました。Windowsでは正常に動作しているようで、Ubuntuパッケージ(現在の2.3.1-7)で出荷されるOpencvに問題があります。
この問題は私のウィンドウでは再現できないので、2.4で修正されたか、Linuxに固有の問題だったと思います。
これが問題を浮き彫りにする(python)テストコードです:
import os
import cv
in_dir = "../data/inputs/sample-test"
out = "output.avi"
# loading images, create Guys and store it into guys
frameSize = (652, 498)
#frameSize = (453, 325)
fourcc = cv.CV_FOURCC('F', 'M', 'P', '4')
my_video = cv.CreateVideoWriter(out,
fourcc,
15,
frameSize,
1)
for root, _, files in os.walk(in_dir):
for a_file in files:
guy_source = os.path.join(in_dir, a_file)
print guy_source
image = cv.LoadImage(guy_source)
small_im = cv.CreateImage(frameSize,
image.depth ,
image.nChannels)
cv.Resize(image, small_im, cv.CV_INTER_LINEAR)
cv.WriteFrame(my_video, small_im)
print "Finished !"
私の懸念は、出力サイズによっては、ビデオが正常であるということです(たとえば、652、498で問題ありません)。動作は、私が使用するコーデックに関係なく同じです。
修正されていない場合は、このバグの理由についてさらに情報が必要です。Ubuntu向けに出荷したいので、パッケージシステムを使用して、しばらくの間2.3を維持したほうがよいでしょう。
ですから、教育を受けたサイズを選ぶことで、どうすれば問題を賢く解決できるかを知りたいと思います。
どんな情報でも大歓迎です
どうも !