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

Python使用OpenCV對(duì)圖像進(jìn)行縮放功能

 更新時(shí)間:2022年03月06日 10:16:07   作者:九品稀飯  
這篇文章主要介紹了Python使用OpenCV對(duì)圖像進(jìn)行縮放功能,文中給大家提到了兩種調(diào)用方式及OpenCV中pryUp和pryDown的用法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

OpenCV:圖片縮放和圖像金字塔

對(duì)圖像進(jìn)行縮放的最簡(jiǎn)單方法當(dāng)然是調(diào)用resize函數(shù)啦!

resize函數(shù)可以將源圖像精確地轉(zhuǎn)化為指定尺寸的目標(biāo)圖像。

要縮小圖像,一般推薦使用CV_INETR_AREA來插值;若要放大圖像,推薦使用CV_INTER_LINEAR。

現(xiàn)在說說調(diào)用方式

第一種,規(guī)定好你要圖片的尺寸,就是你填入你要的圖片的長(zhǎng)和高。

#include<opencv2\opencv.hpp>   
#include<opencv2\highgui\highgui.hpp>
using namespace std;
using namespace cv;
 
//圖片的縮小與放大
int main()
{
    Mat img = imread("lol5.jpg");
    imshow("原始圖", img);
 
    Mat dst = Mat::zeros(512, 512, CV_8UC3); //我要轉(zhuǎn)化為512*512大小的
    resize(img, dst, dst.size());
 
    imshow("尺寸調(diào)整之后", dst);
 
    waitKey(0);
 
}

第二種,填入你要縮小或者放大的比率。

#include<opencv2\opencv.hpp>   
#include<opencv2\highgui\highgui.hpp>
 
using namespace std;
using namespace cv;
//圖片的縮小與放大
int main()
{
    Mat img = imread("lol5.jpg");
    imshow("原始圖", img);
    Mat dst;
    resize(img, dst, Size(),0.5,0.5);//我長(zhǎng)寬都變?yōu)樵瓉淼?.5倍
    imshow("尺寸調(diào)整之后", dst);
    waitKey(0);
}

接下來說說圖像金字塔

說白了,圖像金字塔就是用來進(jìn)行圖像縮放的,干的事情跟resize函數(shù)沒兩樣,那我們還需要學(xué)它嗎?我覺得有必要的額,因?yàn)樵趯W(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò)中會(huì)遇到這個(gè)名詞,所以都學(xué)一學(xué)吧,搞圖形都繞不過他!

說說什么是圖像金字塔。

其實(shí)非常好理解,如上圖所示,我們將一層層的圖像比喻為金字塔,層級(jí)越高,則圖像尺寸越小,分辨率越低。

兩種類型的金字塔:

  • 高斯金字塔:用于下采樣,主要的圖像金字塔;
  • 拉普拉斯金字塔:用于重建圖像,也就是預(yù)測(cè)殘差(我的理解是,因?yàn)樾D像放大,必須插入一些像素值,那這些像素值是什么才合適呢,那就得進(jìn)行根據(jù)周圍像素進(jìn)行預(yù)測(cè)),對(duì)圖像進(jìn)行最大程度的還原。比如一幅小圖像重建為一幅大圖像,

圖像金字塔有兩個(gè)高頻出現(xiàn)的名詞:上采樣和下采樣?,F(xiàn)在說說他們倆。

  • 上采樣:就是圖片放大(所謂上嘛,就是變大),使用PryUp函數(shù)
  • 下采樣:就是圖片縮?。ㄋ^下嘛,就是變?。?,使用PryDown函數(shù)

下采樣將步驟:

對(duì)圖像進(jìn)行高斯內(nèi)核卷積

將所有偶數(shù)行和列去除

下采樣就是圖像壓縮,會(huì)丟失圖像信息。

上采樣步驟:

  • 將圖像在每個(gè)方向放大為原來的兩倍,新增的行和列用0填充;
  • 使用先前同樣的內(nèi)核(乘以4)與放大后的圖像卷積,獲得新增像素的近似值。

上、下采樣都存在一個(gè)嚴(yán)重的問題,那就是圖像變模糊了,因?yàn)榭s放的過程中發(fā)生了信息丟失的問題。要解決這個(gè)問題,就得看拉普拉斯金字塔了。

下面給出OpenCV中pryUp和pryDown的用法。

#include<opencv2\opencv.hpp>   
#include<opencv2\highgui\highgui.hpp>
 
using namespace std;
using namespace cv;
//圖像金字塔
int main()
{
    Mat img = imread("lol8.jpg");
    imshow("原始圖", img);
    Mat dst,dst2;
    pyrUp(img, dst, Size(img.cols*2, img.rows*2)); //放大一倍
    pyrDown(img, dst2, Size(img.cols * 0.5, img.rows * 0.5)); //縮小為原來的一半
    imshow("尺寸放大之后", dst);
    imshow("尺寸縮小之后", dst2);
    waitKey(0);
}

顯然,無論是放大還是縮小,圖像都變得模糊了,這就是他的致命缺點(diǎn)。

個(gè)人認(rèn)為,要做縮放就用resize函數(shù)吧,畢竟方便太多而且圖像不會(huì)變模糊!

到此這篇關(guān)于Python使用OpenCV對(duì)圖像進(jìn)行縮放功能的文章就介紹到這了,更多相關(guān)OpenCV圖像縮放內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python實(shí)現(xiàn)人臉識(shí)別

    Python實(shí)現(xiàn)人臉識(shí)別

    這篇文章主要介紹了Python實(shí)現(xiàn)人臉識(shí)別,首選抓取多張圖片,從中獲取特征數(shù)據(jù)集和平均特征值然后寫入?csv?文件?-?計(jì)算特征數(shù)據(jù)集的歐式距離作對(duì)比,下面一起來看具體得實(shí)現(xiàn)過程吧
    2022-01-01
  • python小項(xiàng)目之五子棋游戲

    python小項(xiàng)目之五子棋游戲

    這篇文章主要為大家詳細(xì)介紹了python小項(xiàng)目之五子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • 解決Django一個(gè)表單對(duì)應(yīng)多個(gè)按鈕的問題

    解決Django一個(gè)表單對(duì)應(yīng)多個(gè)按鈕的問題

    今天小編就為大家分享一篇解決Django一個(gè)表單對(duì)應(yīng)多個(gè)按鈕的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Python標(biāo)準(zhǔn)庫shutil模塊使用方法解析

    Python標(biāo)準(zhǔn)庫shutil模塊使用方法解析

    這篇文章主要介紹了Python標(biāo)準(zhǔn)庫shutil模塊使用方法解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • django和flask哪個(gè)值得研究學(xué)習(xí)

    django和flask哪個(gè)值得研究學(xué)習(xí)

    在本篇文章里小編給大家整理的是一篇關(guān)于django和flask哪個(gè)值得研究學(xué)習(xí)內(nèi)容,需要的朋友們可以參考下。
    2020-07-07
  • 如何向scrapy中的spider傳遞參數(shù)的幾種方法

    如何向scrapy中的spider傳遞參數(shù)的幾種方法

    這篇文章主要介紹了如何向scrapy中的spider傳遞參數(shù)的幾種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • python不使用for計(jì)算兩組、多個(gè)矩形兩兩間的iou方式

    python不使用for計(jì)算兩組、多個(gè)矩形兩兩間的iou方式

    今天小編就為大家分享一篇python不使用for計(jì)算兩組、多個(gè)矩形兩兩間的iou方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • python中的torch常用tensor處理函數(shù)示例詳解

    python中的torch常用tensor處理函數(shù)示例詳解

    這篇文章主要介紹了python中的torch常用tensor處理函數(shù),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07
  • Python利用Pillow(PIL)庫實(shí)現(xiàn)驗(yàn)證碼圖片的全過程

    Python利用Pillow(PIL)庫實(shí)現(xiàn)驗(yàn)證碼圖片的全過程

    這篇文章主要給大家介紹了關(guān)于Python利用Pillow(PIL)庫實(shí)現(xiàn)驗(yàn)證碼圖片的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Python編程之字符串模板(Template)用法實(shí)例分析

    Python編程之字符串模板(Template)用法實(shí)例分析

    這篇文章主要介紹了Python編程之字符串模板(Template)用法,結(jié)合具體實(shí)例形式分析了Python字符串模板的功能、定義與使用方法,需要的朋友可以參考下
    2017-07-07

最新評(píng)論