声明:本人原创系列文章,禁止转载!
利用python与opencv来进行图片的缩放,主要有四个步骤,
1.加载缩放的图片
2.获取图片信息
3.调用resize方法
4.检查最终结果
python代码部分:
#1 加载缩放的图片
import cv2
img = cv2.imread('2.jpg',1)
#2 获取图片信息
imginfo = img.shape
print(imginfo)#打印出图片的宽、高、
# 图片的高、宽
height = imginfo[0]
width = imginfo[1]
mode = imginfo[2]
# 1 放大 缩小 2 等比例 非等比例
# 等比例缩小
# 乘的系数是相同的就是等比例的
dstheight = int(height*0.5)
dstwidth = int(width*0.5)
# 最近临域插值 双线性插值 像素关系重采样 立方插值
# 3.调用resize方法
dst = cv2.resize(img,(dstwidth,dstheight))
cv2.imshow('image',dst)
cv2.waitkey(0)
最终的效果图
# 最近临域插值算法python源码实现图片缩放
# 1 info 2 空白模板 3 计算xy像素点
import cv2
import numpy as np
img = cv2.imread('2.jpg',1)
imginfo = img.shape
height = imginfo[0]
width = imginfo[1]
dstheight = int(height/2)
dstwidth = int(width/2)
dstimage = np.zeros((dstheight,dstwidth,3),np.uint8) #0-255
for i in range(0,dstheight): #行
for j in range(0,dstwidth):#列
inew = int(i*(height*1.0/dstheight))
jnew = int(j*(width*1.0/dstwidth))
dstimage[i,j] = img[inew,jnew]
cv2.imshow('dst',dstimage)
cv2.waitkey(0)
最终效果与上面一致!