私はPython3でOpencv2を使用しています。
ニュースビデオの「ショット境界検出」プログラムを作成しています。
私はちょうどビデオフレームを最初に9個に分割する必要があります。しかし、私はどのようにこの分野で新しい人であるか分からない。私はトリミングでそれをしましたが、フレームを分割するのは正しいことではないようです。
ビデオフレームを9分割するには?
注:「私のタイトル」で検索すると、私はROIの回答に到達できませんでした。しかし、今はこれがROIだと思われます。
私はPython3でOpencv2を使用しています。
ニュースビデオの「ショット境界検出」プログラムを作成しています。
私はちょうどビデオフレームを最初に9個に分割する必要があります。しかし、私はどのようにこの分野で新しい人であるか分からない。私はトリミングでそれをしましたが、フレームを分割するのは正しいことではないようです。
ビデオフレームを9分割するには?
注:「私のタイトル」で検索すると、私はROIの回答に到達できませんでした。しかし、今はこれがROIだと思われます。
たとえばROIを使用して、さまざまな画像を配列に追加する必要があります。
私は私の猫でテスト:あなたは9台のカメラを持っていた場合(これを終了するキーを押して 'Q')
import cv2
cap = cv2.VideoCapture(0)
n_rows = 3
n_images_per_row = 3
while(True):
# Capture frame-by-frame
ret, frame = cap.read()
height, width, ch = frame.shape
roi_height = height/n_rows
roi_width = width/n_images_per_row
images = []
for x in range(0, n_rows):
for y in range(0,n_images_per_row):
tmp_image=frame[x*roi_height:(x+1)*roi_height, y*roi_width:(y+1)*roi_width]
images.append(tmp_image)
# Display the resulting sub-frame
for x in range(0, n_rows):
for y in range(0, n_images_per_row):
cv2.imshow(str(x*n_images_per_row+y+1), images[x*n_images_per_row+y])
cv2.moveWindow(str(x*n_images_per_row+y+1), 100+(y*roi_width), 50+(x*roi_height))
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()
@cybseccryptウィンドウをドラッグする必要がないように表示コードを改善しました。それがあなたのためにうまくいくかどうか私に教えてください! –
だから、それはようなものだと:ここでは、コードを持って
1つのフレームにすべての画像を表示するのですか? –
私の1つのフレームの形状が720x240のようなものはありません。私は240x80のような9つのフレームを分割する必要があり、その後、これらの9つの部分のローカルヒストグラムを見つけるつもりです。もっと単純化するために、フレームではなくイメージと考えることができます。 – cybseccrypt
探しているものがROIです。あなたはSO [Copy ROI with python]の質問を参照することができます(http://stackoverflow.com/questions/25734545/opencv-using-python-copy-roi-to-new-smaller-image) – Croolman