
圖像縮放,顧名思義就是對圖像進行放大或縮小的改變,其本質就是改變圖像的寬度和高度,可以放大寬高,也可以縮小寬高。

圖像縮放算法主要有最近領域插值算法、雙線性插值算法、立方插值算法和像素關系重采樣算法。其中,OpenCV默認使用雙線性插值算法對圖像進行縮放。
import cv2 img = cv2.imread("1.png") #img1=cv2.resize(img,(300,400)) #修改圖片的尺寸 img1=cv2.resize(img,(0,0),fx=0.5,fy=0.5,interpolation=cv2.INTER_NEAREST) #修改圖片的尺寸 #參數1 原圖片 #參數2 修改后的尺寸;300寬 400高;表示縮放后圖像的大小。如果設置了這個參數,那么設置的(width,height)就代表將原圖像縮放到指定的寬高;如果未設置這個參數(0,0),那么原圖像縮放之后的大小就要通過公式“dsize=(round(fx*原圖像的寬),round(fy*原【的高))”來計算,fx和fy表示圖像寬度方向和高度方向上的縮放比例 #fx:可選參數,表示圖像寬度方向上的縮放比例,默認為0,表示自動按照“(double)dsize.width/原圖像的寬度”來計算。 #fy:可選參數,表示圖像高度方向上的縮放比例,默認為0,表示自動按照“(double)dsize.height/原圖像的高度”來計算。 #interpolation 所用的插值方法 #INTER_NEAREST 最近鄰插值;INTER_LINEAR 雙線性插值(默認設置);INTER_AREA 使用像素區域關系進行重采樣;INTER_CUBIC 4x4像素鄰域的雙三次插值;INTER_LANCZOS4 8x8像素鄰域的Lanczos插值 cv2.imwrite("3.jpg",img1) cv2.waitKey(0)

