欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實(shí)現(xiàn)簡(jiǎn)單圖像縮放與旋轉(zhuǎn)

 更新時(shí)間:2022年01月16日 10:56:37   作者:云龍弓手  
大家好,本篇文章主要講的是Python實(shí)現(xiàn)簡(jiǎn)單圖像縮放與旋轉(zhuǎn),感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下

1. 圖像縮放

1.2. 使用命令

import cv2
# 縮放
def resize(img, k, inter):
    res = cv2.resize(img, None, fx=k, fy=k, interpolation=inter)  
    return res

參數(shù)設(shè)定(interpolation):

0:最近鄰插值

1:雙線性插值

2:基于局部像素的重采樣

3:基于4*4像素鄰域的三次插值

4:基于8*8像素鄰域的Lanczos插值

img_row = cv2.imread(r'picture4.jpg')
cv2.imshow('origin_picture', img_row)
cv2.waitKey(0)
inters = [cv2.INTER_NEAREST, cv2.INTER_LINEAR, cv2.INTER_AREA, cv2.INTER_CUBIC, cv2.INTER_LANCZOS4]
for inter in inters:
    res1 = resize(img_row, 2, inter)
    cv2.imshow('res1', res1)
    cv2.waitKey(0)
    position = 'pic_resize' + '_' + str(inter) + '.jpg'
    cv2.imwrite(position, res1)

1.2. 原理介紹

幾種方法原理簡(jiǎn)介:

最近鄰插值:將目標(biāo)圖像中的點(diǎn)對(duì)應(yīng)原圖像中最近鄰整數(shù)坐標(biāo)點(diǎn)的像素值雙線性插值:f(x,y)為二元函數(shù),假設(shè)我們知道f(x0,y0), f(x1,y1),f(x0,y1), f(x1,y0)四個(gè)點(diǎn)的值。這四個(gè)點(diǎn)確定一個(gè)矩形,我們希望通過(guò)插值得到矩形內(nèi)任意點(diǎn)的函數(shù)值。于是我們?cè)趚方向上進(jìn)行兩次線性插值,y方向上一次線性插值。綜合后得到以下公式:

 局部像素的重采樣:如果放大圖像的比例是整數(shù)倍,與最近鄰插值類(lèi)似,如果放大的比例不是整數(shù)倍,則會(huì)采用線性插值三次插值:給定n+1個(gè)點(diǎn),a=x0<x1 < . . . <xn=b,以及他們的函數(shù)值f (x i) , i = 0 , 1 , 2 , . . . n ,在每個(gè)區(qū)間 [ x i , x i + 1 ]上,確定一個(gè)三次多項(xiàng)式,每個(gè)三次多項(xiàng)式滿足共4n-2個(gè)條件,剩余條件由邊界條件確定:

 Lanczos插值:

需要通過(guò)計(jì)算模板中的權(quán)重信息來(lái)計(jì)算x對(duì)應(yīng)的值。對(duì)于一維信息,假如我們輸入的點(diǎn)集為X,那么,Lanczos對(duì)應(yīng)有個(gè)窗口模板Window,窗口中每個(gè)位置的權(quán)重計(jì)算如下,通常a取2或者3.根據(jù)計(jì)算出來(lái)的權(quán)重,然后再根據(jù)x即可求出對(duì)應(yīng)的加權(quán)平均:

1.3. 方法比較

速度比較:

效果比較:

最近鄰插值:最簡(jiǎn)單,但是邊緣沒(méi)有緩慢的過(guò)渡區(qū)域,導(dǎo)致放大圖像邊緣容易出現(xiàn)鋸齒雙線性插值:計(jì)算較最近鄰復(fù)雜,但是能很好避免邊緣鋸齒的現(xiàn)象區(qū)域重采樣:圖像放大時(shí)效果類(lèi)似于雙線性插值三次插值法:計(jì)算較為復(fù)雜,但是具有良好的穩(wěn)定性和平滑性Lanczos插值:計(jì)算最為復(fù)雜,效果最好,但是耗時(shí)最長(zhǎng)1.4. 實(shí)驗(yàn)結(jié)果

最近鄰:

 雙線性:

 基于局部像素的重采樣:

 三次插值法:

 Lanczos插值法:

2. 旋轉(zhuǎn)

2.1. 使用命令

import imutils
 
# 旋轉(zhuǎn)
def rotate(img, angle):
    res = imutils.rotate_bound(img, angle)
    return res
 
img_row = cv2.imread(r'picture4.jpg')
res2 = rotate(img_row, 45)
cv2.imshow('res2', res2)
cv2.waitKey(0)
cv2.imwrite(r'pic_rotate.jpg', res2)

2.2. 實(shí)驗(yàn)效果

總結(jié)

到此這篇關(guān)于Python實(shí)現(xiàn)簡(jiǎn)單圖像縮放與旋轉(zhuǎn)的文章就介紹到這了,更多相關(guān)Python圖像縮放與旋轉(zhuǎn)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python中as用法實(shí)例分析

    python中as用法實(shí)例分析

    這篇文章主要介紹了python中as用法,實(shí)例分析了as的功能及相關(guān)使用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • 在Python中使用mechanize模塊模擬瀏覽器功能

    在Python中使用mechanize模塊模擬瀏覽器功能

    這篇文章主要介紹了在Python中使用mechanize模塊模擬瀏覽器功能,包括使用cookie和設(shè)置代理等功能的實(shí)現(xiàn),需要的朋友可以參考下
    2015-05-05
  • 連接Python程序與MySQL的教程

    連接Python程序與MySQL的教程

    這篇文章主要介紹了連接Python程序與MySQL的教程,MySQL作為最具人氣的數(shù)據(jù)庫(kù),與程序之間的連接也成為了如今Python學(xué)習(xí)中近乎必備的知識(shí),需要的朋友可以參考下
    2015-04-04
  • 使用Django的JsonResponse返回?cái)?shù)據(jù)的實(shí)現(xiàn)

    使用Django的JsonResponse返回?cái)?shù)據(jù)的實(shí)現(xiàn)

    這篇文章主要介紹了使用Django的JsonResponse返回?cái)?shù)據(jù)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • python控制結(jié)構(gòu)的條件判斷與循環(huán)示例詳解

    python控制結(jié)構(gòu)的條件判斷與循環(huán)示例詳解

    這篇文章主要為大家介紹了python控制結(jié)構(gòu)的條件判斷與循環(huán)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • Django3.2 自動(dòng)發(fā)現(xiàn)所有路由代碼詳解

    Django3.2 自動(dòng)發(fā)現(xiàn)所有路由代碼詳解

    這篇文章主要為大家介紹了Django自動(dòng)發(fā)現(xiàn)所有路由的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-12-12
  • Python?解析獲取?URL?參數(shù)及使用步驟

    Python?解析獲取?URL?參數(shù)及使用步驟

    這篇文章主要介紹了Python?解析獲取?URL?參數(shù)及使用,本文分步驟通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • Django中使用celery完成異步任務(wù)的示例代碼

    Django中使用celery完成異步任務(wù)的示例代碼

    本篇文章主要介紹了Django中使用celery完成異步任務(wù)的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-01-01
  • Python發(fā)送郵件實(shí)現(xiàn)基礎(chǔ)解析

    Python發(fā)送郵件實(shí)現(xiàn)基礎(chǔ)解析

    這篇文章主要介紹了Python發(fā)送郵件實(shí)現(xiàn)基礎(chǔ)解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Pytorch中torch.unsqueeze()與torch.squeeze()函數(shù)詳細(xì)解析

    Pytorch中torch.unsqueeze()與torch.squeeze()函數(shù)詳細(xì)解析

    torch.squeeze()這個(gè)函數(shù)主要對(duì)數(shù)據(jù)的維度進(jìn)行壓縮,去掉維數(shù)為1的的維度,下面這篇文章主要給大家介紹了關(guān)于Pytorch中torch.unsqueeze()與torch.squeeze()函數(shù)詳細(xì)的相關(guān)資料,需要的朋友可以參考下
    2023-02-02

最新評(píng)論