1.加载原图片

import cv2

img = cv2.imread(filename='../anqila.jpg',flags=1)  # 第一个参数为图片的路径,第二个参数为是否为彩色图片
cv2.imshow('anqila',img)  # 展示图片
cv2.waitKey(0)
print(img.shape)

在这里插入图片描述
请添加图片描述
注意事项:图片路径中不能有中文,否则报如下错误!
请添加图片描述

2. 图片缩放

import cv2

img = cv2.imread(filename='../anqila.jpg', flags=1)  # 第一个参数为图片的路径,第二个参数为是否为彩色图片
imgInfo = img.shape
height = imgInfo[0]
width = imgInfo[1]
dstWidth = int(width*0.5)  # 0.5 为缩放比例
dstHeight = int(height*0.5)
dst = cv2.resize(img,(dstWidth,dstHeight))
cv2.imshow('anqila',dst)  # 展示图片
cv2.waitKey(0)

请添加图片描述

3. 图片缩放的算法实现

import cv2
import numpy as np

img = cv2.imread(filename='../anqila.jpg', flags=1)  # 第一个参数为图片的路径,第二个参数为是否为彩色图片
imgInfo = img.shape
height = imgInfo[0]
width = imgInfo[1]
dstWidth = int(width*0.5)  # 0.5 为缩放比例
dstHeight = int(height*0.5)
dst = np.zeros((dstHeight,dstWidth,3),np.uint8)
for i in range(0,dstHeight):
    for j in range(0,dstWidth):
        newI = int(i*(height*1.0/dstHeight))
        newJ = int(j*(width*1.0/dstWidth))
        dst[i,j]=img[newI,newJ]
cv2.imshow('anqila',dst)  # 展示图片
cv2.waitKey(0)

运行结果和上述一样

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐