我有一堆图像,我正在试图纠正,所以图像是水平的(主轴是水平的),但我不理解orientation输出从区域道具法在skimage。如何把它转换成学位?输出角的轴参考值是多少?
这里是skimage文档:
方向:浮子。椭圆的第0轴(行)和长轴之间的夹角,与该区域的秒数相同,从-pi/2到pi/2逆时针方向不等。
我的问题是:给定方向,我如何计算角度,以旋转图像,使主轴水平与skimage?
基本上,这一物体的主轴和小轴线属于熊猫数据图的指数1。物体的方向是-1.184075,应该属于主轴.
from skimage.measure import label, regionprops_table
# connected pixels of same label get assigned a value
label_img = label(binary_image_here)
props = regionprops_table(label_img, properties=('centroid',
'bbox',
'orientation',
'major_axis_length',
'minor_axis_length'))
df = pd.DataFrame(props)
发布于 2020-08-04 10:15:19
根据您提供的文档,方向是弧度,从-pi/2到pi/2逆时针方向不等:
方向:浮子。椭圆的第0轴(行)和长轴之间的夹角,与该区域的秒数相同,从-pi/2到pi/2逆时针方向不等。
此外,正如在地区博士中所说,从0.16.0开始,它们在任何地方都使用"rc“。他们说,对于大多数的计算,您可以通过简单的转换找到旧的结果,但是对于其他的,它更复杂,例如方向:
例如,新的方向是π/2加上旧的方向。
这意味着,得到你想要的角度的正确公式是这个:
angle_in_degrees = orientation * (180/np.pi) + 90 这个方向指的是图像上的这个角度:

现在:如果你想要你的长轴和第0轴对齐,然后用-angle_in_degrees旋转你的图像:
from skimage.transform import rotate
rotate(image, -angle_in_degrees, resize=True)https://datascience.stackexchange.com/questions/79764
复制相似问题