1.图片的缩放
1 load 2 info 3 resize 4 check
#1 放大 缩小 2等比例缩放 非等比例缩放
# 1 info 2 空白模板 3 xy import cv2 import numpy as np img=cv2.imread('image0.jpg',1) imgInfo=img.shape height=imgInfo[0] width=imgInfo[1] dstHeight=int(height*0.5) dstWidth=int(width*0.5) #dst=cv2.resize(img,(dstWidth,dstHeight)) #cv2.imshow('image1',dst) dstImage=np.zeros((dstHeight,dstWidth,3),np.uint8) #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)
#src 10*20 dst 5*10
#dst<-src
#(1,2)<-(2,4)
#dst x 1-> src x 2 newX
#newX=x*(src行/目标 行) newX=1*(10/5)=2
#newY=y*(src列/目标 列)newY=2*(20/10)=4
#12.3=12
双线性插值
#A1=20%*上+80%*下 A2
#B1=30%*左+70%*右 B2
#1 最终点=A1 30% +A2 70%
#2 最终点=B1 20% +B2 80%
2.图片剪切
#100 -》200 x #100-》300 y import cv2 img = cv2.imread('image0.jpg',1) imgInfo = img.shape dst = img[100:200,100:300] cv2.imshow('image',dst) cv2.waitKey(0)