如何在Python中找到旋转边界框的坐标?

如何在Python中找到旋转边界框的坐标?,python,python-2.7,image-processing,Python,Python 2.7,Image Processing,我有一个旋转的矩形 它包含矩形的值255,背景的值0。我想找到一个边界框坐标(x_min,x_max,y_min,y_max)(例如下面的红色框)。你能给我建议在python中找到它的方法吗?谢谢 这就是如何获得旋转边界框的方法 import numpy as np import skimage.transform import Image img = np.zeros([2088,1773], dtype=np.uint8) img[386:575, 816:1000] = 255 img

我有一个旋转的矩形

它包含矩形的值
255
,背景的值
0
。我想找到一个边界框坐标
(x_min,x_max,y_min,y_max)
(例如下面的红色框)。你能给我建议在python中找到它的方法吗?谢谢

这就是如何获得旋转边界框的方法

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")
这应该起作用:

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格式。您没有显示您已经尝试过的代码…抱歉,我已经更新了它。你能再看一遍并投赞成票吗?是的,但是你在解决这个问题方面做了哪些尝试?我试图找到解决办法,但没有成功。这就是我在这里问你的原因,非常感谢。但是
rect=np.where(img==1)
或者
rect=np.where(img==255)
?由于函数
skimage.transform.rotate
的输出返回值介于0到1之间,因此在我在这里编写的简化版本
img.max()==1
中,我使用
1
,但逻辑与
255
或任何其他您想要使用的格式相同。。。