缩放和中心图像浏览

2024-06-26 14:36:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试用Skimage缩放一组图像。我使用下面的代码,它工作得很好,除了新的重新缩放的图像(因子2)现在在左上角居中(见下文)。我希望图像保持在原来的中心。有没有一个简单的方法来实现这一点?我的目的是让保存的图像副本(例如jpg文件)保持居中。我的问题与通过imshow显示图像无关。E、 g.当我保存下面的图像时-图像的中心位于左上角,这会导致代码中后续步骤出现问题。在

    ###Part of the code
    tform=skimage.transform.SimilarityTransform(scale=2, rotation=0,translation=(0, 0))
    rotated = skimage.transform.warp(test, tform)  
    plt.imshow(rotated)
    import scipy
    scipy.misc.imsave('rotated.jpg', rotated)

enter image description here


Tags: 方法代码图像目的transformscipy中心因子
1条回答
网友
1楼 · 发布于 2024-06-26 14:36:40

缩放本身被定义为仿射变换的一个子集。 仅用于缩放的仿射变换矩阵定义为

s_x, 0,   0
0,   s_y, 0
0,   0,   1

其中s_x和{}是各自维度中的比例因子(相对于(0,0)处的原点定义)。如果您希望图像的缩放不是相对于原点,而是相对于另一个点,则首先平移图像,使缩放中心位于原点,然后缩放,然后将图像向后移动。只需将变换矩阵与比例矩阵进行矩阵相乘。我有一个类似的旋转问题,可以找到here。同样的原则也适用于这个问题。结果是

^{pr2}$

其中x和{}是图像在各自维度中的一半大小。 生成的矩阵可用于:

skimage.transform.AffineTransform(matrix)

相关问题 更多 >