0
0
SciPydata~10 mins

Image rotation and zoom in SciPy - Step-by-Step Execution

Choose your learning style9 modes available
Concept Flow - Image rotation and zoom
Load Image Data
Apply Rotation
Apply Zoom
Output Transformed Image
The image is first loaded, then rotated by a given angle, followed by zooming in or out, resulting in a transformed image.
Execution Sample
SciPy
from scipy.ndimage import rotate, zoom
import numpy as np

image = np.array([[1,2],[3,4]])
rotated = rotate(image, 90, reshape=False)
zoomed = zoom(rotated, 2)
This code rotates a 2x2 image by 90 degrees and then zooms it by a factor of 2.
Execution Table
StepActionInput ShapeParametersOutput ShapeOutput Snapshot
1Load Image--(2, 2)[[1, 2], [3, 4]]
2Rotate Image(2, 2)angle=90, reshape=False(2, 2)[[2, 4], [1, 3]]
3Zoom Image(2, 2)zoom=2(4, 4)[[2, 2, 4, 4], [2, 2, 4, 4], [1, 1, 3, 3], [1, 1, 3, 3]]
💡 All transformations applied; final image shape is (4,4)
Variable Tracker
VariableStartAfter RotationAfter Zoom
image[[1, 2], [3, 4]][[1, 2], [3, 4]][[1, 2], [3, 4]]
rotatedN/A[[2, 4], [1, 3]][[2, 4], [1, 3]]
zoomedN/AN/A[[2, 2, 4, 4], [2, 2, 4, 4], [1, 1, 3, 3], [1, 1, 3, 3]]
Key Moments - 3 Insights
Why does the rotated image still have shape (2, 2) after a 90-degree rotation?
Because the input image is square (2x2), rotating by 90 degrees swaps rows and columns but the shape remains (2, 2), as shown in step 2 of the execution_table.
Why does the zoomed image shape become (4, 4) after zooming by 2?
Zooming by a factor of 2 doubles each dimension, so (2, 2) becomes (4, 4), as shown in step 3 of the execution_table.
What does the output snapshot represent after zooming?
It shows the pixel values repeated to enlarge the image, visually confirming the zoom effect, as seen in the last row of the execution_table.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table at step 2. What is the rotated image's shape?
A(1, 2)
B(4, 4)
C(2, 2)
D(3, 3)
💡 Hint
Check the 'Output Shape' column at step 2 in the execution_table.
At which step does the image shape change from (2, 2) to (4, 4)?
AStep 3
BStep 1
CStep 2
DNo shape change
💡 Hint
Look at the 'Output Shape' column in the execution_table for each step.
If the zoom factor was changed to 3, what would be the new output shape after zooming?
A(9, 9)
B(6, 6)
C(3, 3)
D(2, 2)
💡 Hint
Zoom multiplies each dimension by the zoom factor; see variable_tracker for zoom effect.
Concept Snapshot
Image rotation and zoom with scipy.ndimage:
- Use rotate(image, angle, reshape=False) to rotate without changing shape.
- Use zoom(image, factor) to resize.
- Rotation keeps shape for square images when reshape=False.
- Zoom multiplies image dimensions.
- Output is a transformed numpy array.
Full Transcript
This visual execution trace shows how an image represented as a 2x2 numpy array is first rotated by 90 degrees using scipy.ndimage.rotate with reshape=False, which keeps the shape the same because the image is square. Then, the rotated image is zoomed by a factor of 2 using scipy.ndimage.zoom, which doubles each dimension, resulting in a 4x4 image. The execution table details each step's input and output shapes and shows the pixel values before and after transformations. The variable tracker follows the changes in variables image, rotated, and zoomed. Key moments clarify common confusions about shape changes during rotation and zoom. The quiz tests understanding of these transformations and their effects on image shape.