![](/img/trans.png)
[英]3D image alignment: How to extract rotation angles about “static” x,y,z axes from a 3x3 rotation matrix in matlab
[英]how to extract a cube from a 3D volume having a centre point and lengths of X, Y, Z in MATLAB?
在MATLAB中,如果我們假設立方體的起點是左上角,
3D_vol(Start_x : Start_x + SizeX-1, Start_y : Start_y + SizeY-1, Start_z : Start_z + SizeZ-1);
得到一個具有X,Y,Z和每個大小的起點的立方體。 現在,如果起始點是多維數據集的中心 ,我如何獲得該多維數據集?
我嘗試了以下操作,但是當X / Y / Z的大小為偶數時,這是不正確的。
3D_vol(start_x - (SizeX/2) - 1 : Start_x + (SizeX/2) - 1, ......
3D_vol是3d矩陣。
我假設起點是整數。
如果SizeX
為奇數, SizeX
容易。 您有中心點,每邊都有(SizeX-1)/2
:
start_x + (-(SizeX-1)/2:(SizeX-1)/2)
這將使您總共獲得1+2*(SizeX-1)/2 = SizeX
點。
如果SizeX
是偶數,則start_x實際上不是中心,而是最接近它的點之一。 您應該確定它是居中還是居中。 讓我們假設離開。 然后,在左側,您需要start_x點和SizeX/2-1
更多點。 其余的將在右邊:
start_x + (-(SizeX/2-1):SizeX/2)
這將使您總共獲得1+(SizeX-1)/2-1+SizeX/2 = SizeX
點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.