如何在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
或任何其他您想要使用的格式相同。。。