圖像大小調整(縮放)

尺寸調整前尺寸調整前

1、背景介紹

? ? ? 在深度學習中,將圖像調整到固定尺寸(如28x28像素)的操作是非常常見的,尤其是在處理諸如圖像分類、物體檢測和圖像分割等任務時。這種操作有幾個重要原因:

  1. 標準化輸入:許多深度學習模型都是為特定輸入尺寸設計的。將所有圖像調整到相同的尺寸可以確保每個輸入都被以相同的方式處理,這有助于模型的訓練和預測。

  2. 批量處理:在深度學習中,通常會使用批處理技術來同時處理多個輸入。固定尺寸的圖像可以更容易地與批量大小對齊,從而提高計算效率。

  3. 網絡架構的假設:一些網絡架構(如LeNet、AlexNet等)假設輸入圖像具有特定的尺寸。如果輸入圖像的大小不一致,網絡可能無法正確地處理它們。

  4. 計算效率:固定尺寸的圖像可以簡化模型的設計,使得網絡層(如卷積層和池化層)的參數數量減少,從而提高計算效率。

  5. 數據增強:在訓練過程中,可以對調整后的圖像應用數據增強技術,如隨機裁剪、旋轉、縮放等,以增加訓練數據的多樣性,從而提高模型的泛化能力。

  6. 輸入層的大小:大多數深度學習框架(如TensorFlow和PyTorch)的輸入層(如tf.placeholdertorch.autograd.Variable)需要知道輸入數據的尺寸。固定尺寸的圖像可以確保輸入層正確地設置其形狀。

? ? ? ?如下圖所示,人工制作的一張圖片,像素為71*70,與常用模型固定尺寸存在差異,如28*28,需要處理,要達到如下效果。

71*7028*28


2、圖像尺寸調整

? ? ? 本次介紹2種場景下圖像尺寸調整,分別為單張圖片調整、批量圖像尺寸調整。

2.1 單張圖像尺寸調整

? ? ? 單張圖像調整,即只對一張圖像尺寸調整,代碼如下。如下所示,將0.jpg的圖片,調整為大小為28*28的圖像,使用函數resize()函數。

from PIL import Image#單獨圖片進行裁切處理
# 讀取圖片
image_path = '0.jpg'  # 替換為你的圖片路徑
image = Image.open(image_path)# 調整圖片大小為28x28像素
resized_image = image.resize((28, 28), Image.BICUBIC)# 保存或顯示調整大小的圖片
resized_image.save('0_resize.jpg')
resized_image.show()

? ? ? 效果如下圖所示,左邊為原始圖像,經過調整后,圖像尺寸變為28*28,變小了。因此,右邊圖像明顯小于左邊。

2.2 批量圖像尺寸調整

? ? ? ?實際中,圖像在處理前需要統一尺寸大小,方便后續圖像處理。因此,存在一個批量處理過程。其對多張圖像進行統一處理。如下代碼,為對10張圖片,統一調整為尺寸大小為28*28的圖像,其中處理前圖像命名按照1.jpg、2.jpg、3.jpg、......進行命名。如下圖所示,其實可以發現,0-9這10張圖片,尺寸大小是不一樣的。

? ? ? 如下代碼中,文件路徑infile采用了for循環語句進行給定,其中{}可以看成數字i。在最后保存時,以同樣方式進行保存調整尺寸后的圖片。

#批量進行裁切
from PIL import Image
for i in range(10):infile = 'D:/test/' + '{}.jpg'.format(i)image = Image.open(infile)# 調整圖片大小為28x28像素resized_image = image.resize((28, 28), Image.BICUBIC)#顏色進行反轉savefile='D:/test/' +'{}'.format(i)+'_resize.jpg'resized_image.save(savefile)

? ? ? 如下圖所示,排在前面的為調整尺寸后圖像,可以發現其尺寸大小基本一致,表明程序運行成功。其實,從圖像詳細信息中,可以查看像素值,如下圖所示。

調整前像素97*103調整后像素28*28

3、總結

? ? ? 本次介紹了基于python中Image庫,實現對圖像大小調整,其中包含單張圖像與批量圖像大小調整。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/36696.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/36696.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/36696.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【可控圖像生成系列論文(五)】ControlNet 和 IP-Adapter 之間的區別有哪些?

系列文章目錄 【可控圖像生成系列論文(一)】 簡要介紹了 MimicBrush 的整體流程和方法;【可控圖像生成系列論文(二)】 就MimicBrush 的具體模型結構、訓練數據和紋理遷移進行了更詳細的介紹。【可控圖像生成系列論文&…

【漏洞復現】銳捷統一上網行為管理與審計系統——遠程命令執行漏洞

聲明:本文檔或演示材料僅供教育和教學目的使用,任何個人或組織使用本文檔中的信息進行非法活動,均與本文檔的作者或發布者無關。 文章目錄 漏洞描述漏洞復現測試工具 漏洞描述 銳捷統一上網行為管理與審計系統naborTable/static_convert.php…

如何應對瀏覽器提示的“存在不安全腳本”問題

哈嘍呀,大家好,淼淼又來和大家見面啦,咱們在互聯網瀏覽過程中,您或許會遇到瀏覽器彈出的安全警告,提示頁面中包含“不安全腳本”。這樣的信息往往讓人心生警惕,擔心自己的隱私和數據安全受到威脅。本文將為…

Linux系統編程(七)進程間通信IPC

進程間通訊的7種方式_進程間通信的幾種方法-CSDN博客 管道 pipe(命名管道和匿名管道);信號 signal;共享內存;消息隊列;信號量 semaphore;套接字 socket; 1. 管道 內核提供&#x…

Hive基礎知識(二十三):數據傾斜優化

絕大部分任務都很快完成,只有一個或者少數幾個任務執行的很慢甚至最終執行失敗, 這樣的現象為數據傾斜現象。 一定要和數據過量導致的現象區分開,數據過量的表現為所有任務都執行的很慢,這個 時候只有提高執行資源才可以優化 HQL…

Arduino平臺軟硬件原理及使用——SR04超聲波傳感器的使用

文章目錄: 一、超聲波傳感器工作原理 二、SR04超聲波庫的使用 三、SR04超聲波傳感器在Arduino中的使用 一、超聲波傳感器工作原理 如上圖所示:HCSR04超聲波傳感器擁有4個針腳,除了VCC接正極、GND接負極外,還有兩個引腳“Trig”及“…

Linux線程互斥鎖

目錄 🚩看現象,說原因 🚩解決方案 🚩互斥鎖 🚀關于互斥鎖的理解 🚀關于原子性的理解 🚀如何理解加鎖和解鎖是原子的 🚩對互斥鎖的簡單封裝 引言 大家有任何疑問,可…

【Android面試八股文】如何實現Activity窗口快速變暗

文章目錄 方式一:修改 WindowManager.LayoutParams 的screenBrightness屬性動態調整窗口的亮度方式二:使用 `WindowManager.LayoutParams` 的 `alpha` 屬性結合 `ValueAnimator` 來實現窗口漸變變暗的效果方式三:使用遮罩層在Android中實現Activity窗口快速變暗有幾種方法,…

CCSP自考攻略+經驗總結

備考攻略 備考攻略準備階段通讀階段精度階段總復習階段刷題階段命運審判 寫到最后 備考攻略 趁著對ssp知識點的理解還在,開始ccsp的考證之路,文章結構還是按照cissp備考篇的結構梳理。本次備考和cissp的離職在家備考不同,ccsp是在職利用非工…

如何用亞馬遜合作伙伴網絡快速上線跨境電商

目前跨境電商已成為行業發展主流,如何快速、低成本打造品牌海外獨立站和智能客服營銷中心、構建全鏈路跨境電商體系是出海電商商家都會遇到的難題。亞馬遜云科技憑借與亞馬遜電商平臺易于集成的先天優勢成為首選的電商解決方案平臺。本文介紹了如何用亞馬遜云科技平…

Elasticsearch8.x聚合查詢全面指南:從理論到實戰

聚合查詢的概念 聚合查詢(Aggregation Queries)是Elasticsearch中用于數據匯總和分析的查詢類型。它不同于普通的查詢,而是用于執行各種聚合操作,如計數、求和、平均值、最小值、最大值、分組等。 聚合查詢的分類 分桶聚合&…

centos7 安裝單機MongoDB

centos7安裝單機 yum 安裝 1、配置yum源 vim /etc/yum.repos.d/mongodb.repo [mongodb-org-7.0] nameMongoDB Repository baseurlhttps://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/7.0/x86_64/ gpgcheck1 enabled1 gpgkeyhttps://www.mongodb.org/static/pgp…

【監控】3.配置 Grafana 以使用 Prometheus 數據源

1 訪問 Grafana 打開瀏覽器,訪問 http://localhost:3000(默認端口)。使用默認的用戶名和密碼 admin/admin 登錄。 2 添加 Prometheus 數據源 進入 Grafana 儀表板,點擊左側菜單中的“Configuration” -> “Data Sources”。…

未來已來,如何打造智慧養殖場?

近年來,國家出臺了一系列扶持政策,以促進養殖行業高質量發展,推動行業轉型升級。在國家政策和市場需求的雙重驅動下,養殖行業正迎來前所未有的發展機遇。智慧養殖以其高效、智能和可持續的特點,正逐步取代傳統養殖方式…

6.26.4.1 基于交叉視角變換的未配準醫學圖像多視角分析

1. 介紹 許多醫學成像任務使用來自多個視圖或模式的數據,但很難有效地將這些數據結合起來。雖然多模態圖像通常可以在神經網絡中作為多個輸入通道進行配準和處理,但來自不同視圖的圖像可能難以正確配準(例如,[2])。因此,大多數多視…

電影搜索筆記

1 字幕組 2 磁力搜索 2.1 磁力大全 http://7809.org/cldq.html

吳恩達2022機器學習專項課程C2W3:2.27 選修_數據傾斜

目錄 處理不平衡數據集1.分類需求描述2.計算精確率和召回率 權衡精確率和召喚率1.手動調整閾值2.F1分數 總結 處理不平衡數據集 1.分類需求描述 如果你在處理一個機器學習應用,其中正例和負例的比例(用于解決分類問題)非常不平衡&#xff0…

多域名微信公眾號獲取授權(前后端分離,后端獲取微信用戶openid)

1.通過后端站點http://b.cn 跳轉至前端鏈接 http://aa.cn/v1/demo/demo public function index(){$identinput(ident);$this->redirect(http://aa.cn/?ident.$ident);}2.前端http://aa.cn 再跳轉到后端 https://c.com(此域名綁定微信公眾號:需備案) onShow() {console.lo…

數據庫怎么同步

數據庫要怎么同步呢,有很多方法,看你用什么數據庫,如果是Sqlserver,你要數據庫同步,那么可以使用自帶的訂閱發布,訂閱發布應該是不錯的方法,但是我上次要配置雙向同步,它的對等發布好像沒部署成…