2016-05-01 3 views
1

warpPerspective()を使用してビデオを安定させています。この関数を呼び出した後、画像の矩形内に空白を残す少し回転した画像が残っています。例えば私はこれを計算する方法を見つけ出すことはできません..私は、私はそれが空きスペースのない画像の矩形内に収まる画像をトリミング/トリミングする必要がありますどのくらいの計算したいOpenCV:opencvでwarpPerspectiveを呼び出した後、空きスペースなしで収まるようにトリミングを計算する方法は?

enter image description here

。私はこれが共通の問題でなければならないと思っていますが、私はスタックオーバーフロー(stiched画像の輪郭を計算する以外に、全く別の問題だと思います)で結果を見つけることができませんでした。

例コード:

import urllib 
import numpy as np 
import cv2 
import matplotlib.pyplot as plt 

link = "http://i68.tinypic.com/f4mhy0.jpg" 
req = urllib.urlopen(link) 
arr = np.asarray(bytearray(req.read()), dtype=np.uint8) 
img = cv2.imdecode(arr,-1) 
img=cv2.cvtColor(img, cv2.COLOR_RGB2GRAY) 
(h, w) = img.shape[:2] 
M=np.array([[1.00430091e+00,7.30151802e-03,-1.55476794e+01][-5.88214567e-03,1.00545504e+00,-3.72084380e+00], [4.47652947e-07,3.99215743e-06,1.00000000e+00]]) 
warped = cv2.warpPerspective(img, M, (w,h)) 
plt.imshow(warped),plt.show() 
+0

[OpenCV warpPerspectiveを使用すると画像全体を表示する方法](http://stackoverflow.com/questions/13063201/how-to-show-the-whole-image-when-using-opencv-warpperspective)の可能な複製) – beaker

答えて

0

あなたはあなたの元の画像の4頭の隅に適用したのと同じマトリックスで変換を用いる必要があります。コーナーがどこに行くのかを知ることができます。

0

motion_stabilizing.cppには、estimateOptimalTrimRatioという関数があります。これは問題を解決します!

関連する問題