Python圖片縮放cv2.resize()圖文詳解
1 函數(shù)cv2.resize()的參數(shù)
resize(src, dsize, dst=None, fx=None, fy=None, interpolation=None)
參數(shù)解釋:
| 參數(shù) | 解釋 |
|---|---|
| src | 輸入原圖像 |
| dsize | 輸出圖像的大小,方式:(寬,高) |
| fx | width方向的縮放比例 |
| fy | height方向的縮放比例 |
| interpolation | 插值方式,默認(rèn)為雙線性插值 |
scr、dsize是必傳參數(shù),fx、fy、interpolation是可選參數(shù)。
2 interpolation參數(shù)解釋
圖片進(jìn)行縮放,需要對(duì)像素進(jìn)行重新計(jì)算,interpolation參數(shù)便是決定縮放圖像時(shí)計(jì)算像素的方式,常見的方式以下五種:
| 參數(shù) | 算法 | 數(shù)值 |
|---|---|---|
| INTER_NEAREST | 最鄰近插值 | 0 |
| INTER_LINEAR | 雙線性插值 (默認(rèn)) | 1 |
| INTER_CUBIC | 4x4像素鄰域內(nèi)的雙立方插值 | 2 |
| INTER_AREA | 使用像素區(qū)域關(guān)系進(jìn)行重采樣 | 3 |
| INTER_LANCZOS4 | 8x8像素鄰域內(nèi)的Lanczos插值 | 4 |
還有其他的選擇:
INTER_BITS2 = 10 INTER_LINEAR_EXACT = 5 INTER_MAX = 7 INTER_NEAREST_EXACT = 6 INTER_TAB_SIZE = 32 INTER_TAB_SIZE2 = 1024
3 代碼演示
import cv2
image = cv2.imread('./flower.jpg', 1)
h, w, _ = image.shape
image_f = cv2.resize(image, (0, 0), fx=2, fy=1)
image0 = cv2.resize(image, (w * 2, h * 2), interpolation=cv2.INTER_NEAREST)
image1 = cv2.resize(image, (w * 2, h * 2), interpolation=cv2.INTER_LINEAR)
image2 = cv2.resize(image, (w * 2, h * 2), interpolation=cv2.INTER_CUBIC)
image3 = cv2.resize(image, (w * 2, h * 2), interpolation=cv2.INTER_AREA)
image4 = cv2.resize(image, (w * 2, h * 2), interpolation=cv2.INTER_LANCZOS4)
image5 = cv2.resize(image, (w * 2, h * 2), interpolation=cv2.INTER_BITS)
image10 = cv2.resize(image, (w * 2, h * 2), interpolation=cv2.INTER_BITS2)
cv2.imshow('image', image)
cv2.imshow('image_f', image_f)
cv2.imshow('image0', image0)
cv2.imshow('image1', image1)
cv2.imshow('image2', image2)
cv2.imshow('image3', image3)
cv2.imshow('image4', image4)
cv2.imshow('image5', image5)
cv2.imshow('image10', image10)
cv2.waitKey(0)
4 效果

image_f

image0

image1

image2

image3

image4

image5

image10

5 總結(jié)
通過圖形的效果看來,cv2.INTER_CUBIC、cv2.INTER_LANCZOS4和cv2.INTER_BITS2效果比較好,優(yōu)于雙線性插值cv2.INTER_LINEAR,但是雙線性插值速度更佳,如果要縮小圖片可以考慮cv2.INTER_LINEAR。
image_f這張圖是才是fx和fy,如果不想手動(dòng)計(jì)算圖片,則dsize直接置為(0, 0),在大多數(shù)時(shí)候還是使用dsize而不用fx和fy。
到此這篇關(guān)于Python圖片縮放cv2.resize()的文章就介紹到這了,更多相關(guān)Python圖片縮放cv2.resize()內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python中關(guān)于matplotlib圖片的灰度處理方式
這篇文章主要介紹了Python中關(guān)于matplotlib圖片的灰度處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08
Python實(shí)現(xiàn)word文檔內(nèi)容智能提取以及合成
這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)從10個(gè)左右的docx文檔中抽取內(nèi)容,再調(diào)整語言風(fēng)格后生成新的文檔,感興趣的小伙伴可以了解一下2025-04-04
Python加密方法小結(jié)【md5,base64,sha1】
這篇文章主要介紹了Python加密方法,結(jié)合實(shí)例形式總結(jié)分析了md5,base64,sha1的簡(jiǎn)單加密方法,需要的朋友可以參考下2017-07-07
如何解決Pycharm運(yùn)行報(bào)錯(cuò)No Python interpreter selected
這篇文章主要介紹了如何解決Pycharm運(yùn)行時(shí)No Python interpreter selected問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05
利用Python實(shí)現(xiàn)普通視頻變成動(dòng)漫視頻
這篇文章主要為大家詳細(xì)介紹了如何利用Python語言實(shí)現(xiàn)普通視頻變成動(dòng)漫視頻效果,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-08-08
Python+MongoDB自增鍵值的簡(jiǎn)單實(shí)現(xiàn)
下面小編就為大家?guī)硪黄狿ython+MongoDB自增鍵值的簡(jiǎn)單實(shí)現(xiàn)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-11-11
Python數(shù)據(jù)結(jié)構(gòu)之樹的全面解讀
數(shù)據(jù)結(jié)構(gòu)中有很多樹的結(jié)構(gòu),其中包括二叉樹、二叉搜索樹、2-3樹、紅黑樹等等。本文中對(duì)數(shù)據(jù)結(jié)構(gòu)中常見的樹邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)進(jìn)行了匯總,不求嚴(yán)格精準(zhǔn),但求簡(jiǎn)單易懂2021-11-11

