图片的几何变换《01图片的缩放》

图片的几何变换《01图片的缩放》

代码

# import cv2
#
# # 读入原图片
# img = cv2.imread('1.jpg')
# # 打印出图片尺寸
# imgInfo=img.shape
# print(imgInfo)
# height=imgInfo[0]
# wirth=imgInfo[1]
# mode=imgInfo[2]  #图像的通道数
#
# dstHeigth=int(height/2);
# dstWirth=int(wirth/2);
#
# # 显示原图
# cv2.imshow('OriginalPicture', img)
#
# # 1.放大 缩小  2.等比例 和非等比例
# # 最近领域插值  双线性插值  像素关系重采样 立方插值
#
# # 输出尺寸格式为(宽,高)
# dst = cv2.resize(img, (dstWirth, dstHeigth))
# cv2.imshow('new', dst)
# cv2.waitKey(0)

'''
最近领域插值  双线性插值  原理
最近领域插值:
对于通过反向变换得到的的一个浮点坐标,对其进行简单的取整,得到一个整数型坐标,
这个整数型坐标对应的像素值就是目的像素的像 素值,也就是说,取浮点坐标最邻近的点.
双线性插值:

'''

# 最近领域插值
import cv2
import numpy as np
img =cv2.imread('1.jpg',1)
cv2.imshow('inputimage',img)
imginfo = img.shape
print("inputImageInfo:",imginfo)
height = imginfo[0]
width = imginfo[1]
dstHeight = int(height/2)
dstWidth =int(width/2)
# 空白模板
dstImage = np.zeros((dstHeight,dstWidth,3),np.uint8) #0~255   3种颜色

for dstX in range(0,dstHeight):#行
    for dstY in range(0,dstWidth):#列
        srcX = int(dstX*(height*1.0/dstHeight))
        srcY = int(dstY*(width*1.0/dstWidth))
        dstImage[dstX,dstY] = img[srcX,srcY]
dstInfo = dstImage.shape
print("dstInfo:",dstInfo)
cv2.imshow('dst',dstImage)
cv2.waitKey(0)
发布了83 篇原创文章 · 获赞 25 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/Jamesaonier/article/details/105120386