圖像預處理-插值方法

一.插值方法

當我們對圖像進行縮放或旋轉等操作時,需要在新的像素位置上計算出對應的像素值。

而插值算法的作用就是根據已知的像素值來推測未知位置的像素值。

1.1 最近鄰插值

CV2.INTER_NEAREST

其為?warpAffine()?函數的參數?flags?的其一,表示最近鄰插值。

????????這個方法是根據原圖目標圖坐標關系來做填充,目標圖中一點的坐標經過公式找到原圖坐標然后找到像素點,然后填充進目標圖中,也就是填充最近的像素。下面是公式:

- dstX:目標圖像中某點的x坐標,

- dstY:目標圖像中某點的y坐標,

- srcWidth:原圖的寬度,

- dstWidth:目標圖像的寬度;

- srcHeight:原圖的高度,

- dstHeight:目標圖像的高度。

- 而srcXsrcY:目標圖像中的某點對應的原圖中的點的x和y的坐標。

如果計算出的是小數,則向下取整(防止取不到點)

1.2 雙線性插值

CV2.INTER_LINEAR

????????原始圖像的某些像素坐標可能不再是新圖像中的整數位置,這時就需要使用其他插值算法來確定這些非整數坐標的像素值。我們依然需要把目標圖像的點映射到原圖像上,公式不變。

先來看看單線性插值:

????????可見,單位像素值就是?(P2-P1)/(x2-x1)?,其中通過兩點與目標點的關系給出表達式,簡化后得到單線性插值的像素值公式。我們也容易理解,k2?的值是更大的,說明?P2?與?P?關系更近。

而雙線性插值就是做兩次,分別在水平方向和垂直方向上做線性插值:

- 水平方向:根據 x?與 x0?x1?的關系計算出 P00?P10?P01?P11?之間的插值結果。

- 垂直方向:將第一步的結果與 y?y0?y1?的關系結合,再在垂直方向上做一次線性插值。

1.3 像素區域插值

cv2.INTER_AREA

????????使用像素區域插值方法進行縮小圖像時,它就會變成一個均值濾波器(就是一個卷積核),其工作原理可以理解為對一個區域內的像素值取平均值。目標圖像的每個像素點,其值等于卷積核中所有像素值的均值。(依然需要目標圖像與原圖像的坐標對應公式。)

卷積核先往右邊走,計算完一個值就移動一格,到邊緣就換到下一行開始依次進行。

1.4 雙三次插值

cv2.INTER_CUBIC

雙三次插值法需要原圖像中近鄰的**16**個點來加權,也就是4x4的網格。

????????還是需要公式得出一點在原圖像中的坐標,找到離它最近16個像素點。此時坐標有小數,則把整數部分小數部分分離為(x+u,y+v)。取整數部分(x,y),這個時候就肯定會是16個像素點的其中之一,將其作為坐標原點(是的你沒有聽錯),然后再分別計算其他15個像素點的坐標。

????????再來到重點,把這15個像素點的橫縱坐標都取出來,然后分別與取出來的小數部分uv,再取絕對值,這就是每個像素點在一個方向上與原點的距離dw或dh。隨后再根據公式計算得出權重,再把像素值乘以對應權重,最后把所有乘積相加,就是插值后的像素值。

公式:

1.5 Lanczos插值

????????與雙三次插值的思想是一樣的,不同的就是其需要的原圖像周圍的像素點的范圍變成了8*8,并且不再使用BiCubic函數來計算權重,而是換了一個公式計算權重。

其中a通常取2或者3,當a=2時,該算法適用于圖像縮小。a=3時,該算法適用于圖像放大。

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

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

相關文章

智能配電保護:公共建筑安全的新 “防火墻”

安科瑞劉鴻鵬 摘要 隨著城市建筑體量的不斷增長和電氣設備的廣泛使用,現代建筑大樓的用電安全問題日益突出。傳統配電方式面臨監測盲區多、響應滯后、火災隱患難發現等問題。為提升建筑電氣系統的安全性和智能化水平,智慧用電系統應運而生。本文結合安…

如何解決DDoS攻擊問題 ?—專業解決方案深度分析

本文深入解析DDoS攻擊面臨的挑戰與解決策略,提供了一系列防御技術和實踐建議,幫助企業加強其網絡安全架構,有效防御DDoS攻擊。從攻擊的識別、防范措施到應急響應,為網絡安全工作者提供了詳細的操作指引。 DDoS攻擊概覽&#xff1a…

構建靈活的接口抽象層:支持多種后端數據存取的實戰指南

構建靈活的接口抽象層:支持多種后端數據存取的實戰指南 引言 在現代軟件開發中,數據存取成為業務邏輯的核心組成部分。然而,由于后端數據存儲方式的多樣性(如關系型數據庫、NoSQL數據庫和文件存儲),如何設計一套能夠適配多種后端數據存取的接口抽象層,成為技術團隊關注…

OpenCV 圖形API(23)圖像和通道合成

操作系統:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 編程語言:C11 1.算法描述 在OpenCV的G-API模塊中,圖像和通道合成(composition)函數允許用戶對圖像進行復雜的操作,如合并…

帝國cms導航淘客新聞下載多功能網站源碼 二次元風格自適應附教程

一、本模板使用帝國cms7.5 utf8版本,二次元導航新聞下載工具淘客自適應響應式帝國cms模板。 1、網站后臺有3個系統模型,新聞系統模型,下載系統模型,導航系統模型,商城系統模型,可以根據自己的需求不同&…

本地部署大模型(ollama模式)

分享記錄一下本地部署大模型步驟。 大模型應用部署可以選擇 ollama 或者 LM Studio。本文介紹ollama本地部署 ollama官網為:https://ollama.com/ 進入官網,下載ollama。 ollama是一個模型管理工具和平臺,它提供了很多國內外常見的模型&…

C# virtual 和 abstract 詳解

簡介 在 C# 中,virtual 和 abstract 關鍵字都用于面向對象編程中的繼承和多態,它們主要用于方法、屬性和事件的定義,但在用法上存在一些重要的區別。 virtual 關鍵字 virtual 表示可重寫的方法,但可以提供默認實現,…

自動駕駛的數據集以及yolov8和yolop

項目背景 網絡全部是分割了沒有檢測。 自動駕駛的車道線和可行駛區域在數據集中的表示 自動駕駛系統中的車道線和可行駛區域的表示方式主要有以下幾種: 基于幾何模型:使用幾何模型來描述車道線和可行駛區域的形狀和位置,例如直線、曲線、多…

Oracle DROP、TRUNCATE 和 DELETE 原理

在 Oracle 11g 中,DROP、TRUNCATE 和 DELETE 是三種不同的數據清理操作,它們的底層原理和適用場景有顯著差異 1. DELETE 的原理 類型:DML(數據操作語言) 功能:逐行刪除表中符合條件的數據,保留…

PCIe 5.0光學SSD原型問世!

近日,Kioxia Corporation(鎧俠)、AIO Core Co., Ltd. 和 Kyocera Corporation(京瓷)聯合宣布成功開發了一款支持 PCIe 5.0 接口的光學 SSD 原型。該技術旨在通過光接口替換傳統的電接口,從而顯著增加計算設…

SQL 查詢中涉及的表及其作用說明

SQL 查詢中涉及的表及其作用說明: 涉及的數據庫表 表名別名/用途關聯關系dbo.s_orderSO(主表)存儲訂單主信息(訂單號、日期、客戶等)dbo.s_orderdetailSoD(訂單明細)通過 billid SO.billid 關…

C++學習之金融類安全傳輸平臺項目git

目錄 1.知識點概述 2.版本控制工具作用 3.git和SVN 4.git介紹 5.git安裝 6.工作區 暫存區 版本庫概念 7.本地文件添加到暫存區和提交到版本庫 8.文件的修改和還原 9.查看提交的歷史版本信息 10.版本差異比較 11.刪除文件 12.本地版本管理設置忽略目錄 13.遠程git倉…

【HCIP】GRE VPN實驗筆記

一、實驗拓撲 二、實驗要求 1、按照圖示配置IP地址 2、在R1和R3上配置默認路由使公網區域互通 3、在R1和R3上配置GRE VPN,使兩端私網能夠互相訪問,Tunnel口IP地址如圖 4、在R1和R3上配置RIPv2或者ospf或者靜態,來傳遞兩端私網路由 三、實…

大模型——Llama Stack快速入門 部署構建AI大模型指南

Llama Stack快速入門 部署構建AI大模型指南 介紹 Llama Stack 是一組標準化和有主見的接口,用于如何構建規范的工具鏈組件(微調、合成數據生成)和代理應用程序。我們希望這些接口能夠在整個生態系統中得到采用,這將有助于更輕松地實現互操作性。 Llama Stack 定義并標準化…

ALOPS智能化運維管理平臺

AIOps(Artificial Intelligence for IT Operations)即智能運維,是將人工智能技術應用于 IT 運維管理領域,以實現自動化、智能化的運維決策和管理。以下是關于 AIOps 的詳細介紹: 核心能力 數據收集與整合&#xff1a…

C語言超詳細指針知識(二)

在上一篇有關指針的博客中,我們介紹了指針的基礎知識,如:內存與地址,解引用操作符,野指針等,今天我們將更加深入的學習指針的其他知識。 1.指針的使用和傳址調用 1.1strlen的模擬實現 庫函數strlen的功能是…

一種替代DOORS在WORD中進行需求管理的方法 (二)

一、前景 參考: 一種替代DOORS在WORD中進行需求管理的方法(基于WORD插件的應用)_doors aspice-CSDN博客 二、界面和資源 WORD2013/WORD2016 插件 【已使用該工具通過第三方功能安全產品認證】: 1、 核心功能 1、需求編號和跟…

設計模式 Day 6:深入講透觀察者模式(真實場景 + 回調機制 + 高級理解)

觀察者模式(Observer Pattern)是一種設計結構中最實用、最常見的行為模式之一。它的魅力不僅在于簡潔的“一對多”事件推送能力,更在于它的解耦能力、模塊協作設計、實時響應能力。 本篇作為 Day 6,將帶你從理論、底層機制到真實…

文獻總結:AAAI2025-UniV2X-End-to-end autonomous driving through V2X cooperation

UniV2X 一、文章基本信息二、文章背景三、UniV2X框架1. 車路協同自動駕駛問題定義2. 稀疏-密集混合形態數據3. 交叉視圖數據融合(智能體融合)4. 交叉視圖數據融合(車道融合)5. 交叉視圖數據融合(占用融合)6…

2025藍橋杯python A組題解

真捐款去了,好長時間沒練了,感覺腦子和手都不轉悠了。 B F BF BF 賽時都寫假了, G G G 也只寫了爆搜。 題解其實隊友都寫好了,我就粘一下自己的代碼,稍微提點個人的理解水一篇題解 隊友題解 B 思路: 我…