我有一张我想要翻译的图片。我正在尝试使用scipy的仿射变换函数。当我尝试使用该功能时,我收到一条错误,指出' 仿射矩阵行数错误。我试过谷歌搜索,但没有运气。任何帮助调试这将非常有帮助。
import numpy as np
import scipy.ndimage as nd
translation_matrix = [[1,0,0],
[0,1,0],
[tx,ty,1]]
output = nd.interpolation.affine_transform(input_image,translation_matrix,order=3,mode='nearest')
我在这里收到错误。
编辑:有关我的问题的更多详细信息。我的MR图像中有一些有肿瘤的切片。我知道哪些切片包含肿瘤,哪些切片不包含肿瘤。肿瘤需要集中在一起进行进一步分析。因此,我所遇到的解决方案是计算特定切片中肿瘤的质心坐标。然后将质心坐标作为新图像的中心。我需要为所有有肿瘤的切片做这个。
答案 0 :(得分:1)
对我来说,以下是有效的。使用线性(非仿射)矩阵并单独指定偏移量:
transformed = nd.interpolation.affine_transform(picture,((np.cos(ph), np.sin(ph)), (-np.sin(ph), np.cos(ph))), offset=(4,-2),order=3,mode='nearest')