Welcome to DOFBOT SE repository
6.Image zoom
6.Image zoom
In OpenCV, the function that implements image scaling is:cv2.resize(InputArray src, OutputArray dst, Size, fx, fy, interpolation)
Code path:/home/yahboom/Dofbot/4.opencv/02_OpenCV Transform/01 pixel operation.ipynb
Parameter explanation:
| InputArray src | Enter image |
|---|---|
| OutputArray dst | Output Image |
| Size | Output image size |
| fx, fy | Scaling coefficients along the x-axis, y-axis |
| interpolation | Insertion method |
Interpolation method used by options:
| INTER_NEAREST | Nearest neighbor interpolation |
|---|---|
| INTER_LINEAR | Bilinear interpolation (default) |
| INTER_AREA | Resampling using pixel area relationships |
| INTER_CUBIC | Bicubic interpolation of 4x4 pixel neighborhoods |
| INTER_LANCZOS4 | Lanczos interpolation of 8x8 pixel neighborhoods |
Notice:
1.Output size format is (width, height)
- The default interpolation method is: bilinear interpolation
The main code is as follows:
x# 1 load 2 info 3 resize 4 checkimport cv2import matplotlib.pyplot as plt # Python’s 2D drawing library
# Read original imageimg = cv2.imread('yahboom.jpg')# Print out image sizeprint(img.shape)# Assign the height and width of the image to x and y respectivelyx, y = img.shape[0:2]
# Scale to one-half of the original size and the output size format is (width, height)img_test1 = cv2.resize(img, (int(y / 2), int(x / 2)))# cv2.imshow('resize0', img_test1)# cv2.waitKey()
# Nearest neighbor interpolation scaling
# Zoom to a quarter of original sizeimg_test2 = cv2.resize(img, (0, 0), fx=0.25, fy=0.25, interpolation=cv2.INTER_NEAREST)# cv.imshow('resize1', img_test2)# cv.waitKey()# cv.destroyAllWindows()img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)dst1 = cv2.cvtColor(img_test1, cv2.COLOR_BGR2RGB)dst2 = cv2.cvtColor(img_test2, cv2.COLOR_BGR2RGB)# Show original imageplt.imshow(img)plt.show()After the execution is completed, you can see that the image is 800*800

xxxxxxxxxx# Display zoom 1/2plt.imshow(dst1)plt.show()After the execution is completed, you can see that the image is 400*400, scaled by half.

xxxxxxxxxx# Display zoom 1/4 Neighbor interpolation zoomplt.imshow(dst2)plt.show()After the execution is completed, you can see that the image is 200*200, zoomed by a quarter.

Next let’s talk about matplotlib: Python’s 2D drawing library.
Reference tutorial: https://www.runoob.com/numpy/numpy-matplotlib.html
xxxxxxxxxximport numpy as npfrom matplotlib import pyplot as pltx = np.arange(1,11)y = 2 * x + 5plt.title("Matplotlib demo")plt.xlabel("x axis caption")plt.ylabel("y axis caption")plt.plot(x,y) plt.show()