2017-11-24 36 views
-2

私はそれが矩形と背景0の値255が含まPythonで回転したバウンディングボックスの座標を見つけるには?

enter image description here

ように回転長方形を有しています。私はバウンドボックス座標(x_min,x_max, y_min,y_max)(赤いボックスなど)を探したい。あなたは私にPythonでそれを見つける方法を提案できますか?おかげ

enter image description here

は、これは私が回転したバウンディングボックスに

import numpy as np 
import skimage.transform 
import Image 
img = np.zeros([2088,1773], dtype=np.uint8) 
img[386:575, 816:1000] = 255 
img =skimage.transform.rotate(img, -20, mode='edge') 
img=img*255 
img = Image.fromarray(img) 
if img.mode != 'RGB': 
    img = img.convert('RGB') 
img.save("rotated_bb.jpg") 
+0

を読む[mcve](https://stackoverflow.com/help/mcve)。あなたは既に試したコードを表示していません... –

+0

申し訳ありません、私はそれを更新しました。あなたはそれを見て、もう一度アップヴォートすることができます – Jame

+1

はい、しかし、あなたは問題を解決するために何を試みましたか?_ –

答えて

1

を取得することができます。これは動作するはずどのような方法である:

import numpy as np 
import skimage.transform 
img = np.zeros([2088,1773], dtype=np.uint8) 
img[386:575, 816:1000] = 255 
img = skimage.transform.rotate(img, -20, mode='edge') 

rect = np.where(img==1) 
xmin, xmax = rect[1].min(), rect[1].max() 
ymin, ymax = rect[0].min(), rect[0].max() 

はあなた場合はRGB形式に適応する必要があります本当に必要があります...

+0

ありがとうございます。しかし、 'rect = np.where(img == 1)'または 'rect = np.where(img == 255)'ですか? 'skimage.transform.rotate'関数の出力は0から1の間の値を返すので、 – Jame

+0

はイメージのフォーマットに依存します。簡略化したバージョンでは' img.max()== 1'と書いて 'しかし、ロジックは '255'や他のフォーマットと同じです... – Julien

関連する問題