圖像像素梯度

梯度

在高數中,梯度是一個向量,是有方向有大小。假設一二元函數f(x,y),在某點的梯度有:
在這里插入圖片描述
結果為:
在這里插入圖片描述
即方向導數。梯度的方向是函數變化最快的方向,沿著梯度的方向容易找到最大值。

圖像梯度

在一幅模糊圖像中的物體的輪廓不明顯,輪廓邊緣灰度變化不強烈,從而導致層次感不強,而在清晰圖片中的物體輪廓邊緣灰度變化明顯,層次感強。那么這種灰度變化明顯不明顯怎么去定義呢?

可以使用導數(梯度),衡量圖像灰度的變化率,因為圖像就是函數。正因如此,我們引入的圖像梯度可以把圖像看成二維離散函數,圖像梯度其實就是這個二維離散函數的求導。
在這里插入圖片描述
如果一副圖像的相鄰灰度值有變化,那么梯度就存在,如果圖像相鄰的像素沒有變化,那么梯度就是0,把梯度值和相應的像素相加,那么灰度值沒有變化的,像素就沒有變化,灰度值變了,像素值也就變了。
相加后的新圖像,原圖像像素點100與90亮度只相差10,現在是110與90,亮度相差20了,對比度顯然增強了,尤其是圖像中物體的輪廓和邊緣,與背景大大加強了區別,這就是用梯度來增強圖像的原理。將圖像函數f(x,y)梯度表達式表示出來:
在這里插入圖片描述
幅度:
在這里插入圖片描述
方向角:
在這里插入圖片描述
對于數字圖像來說,相當于是二維離散函數求梯度,使用差分來近似導數:
在這里插入圖片描述
因此,像素點(x,y)處的梯度值和梯度方向分別是:
在這里插入圖片描述
平方+開方的,計算量太大,于是一般用絕對值來近似平方和平方根的操作,來降低計算量:
在這里插入圖片描述
梯度的方向是函數變化最快的方向,所以當函數中存在邊緣時,一定有較大的梯度值,相反,當圖像中有比較平滑的部分時,灰度值變化較小,則相應的梯度也較小,圖像處理中把梯度的模簡稱為梯度,由圖像梯度構成的圖像成為梯度圖像。

一些經典的圖像梯度算法是考慮圖像的每個像素的某個鄰域內的灰度變化,利用邊緣臨近的一階或二階導數變化規律,對原始圖像中像素某個鄰域設置梯度算子,通常我們用小區域模板進行卷積來計算,有Sobel算子、Robinson算子、Laplace算子等。

經典算子

對圖像大矩陣和濾波小矩陣對應位置元素相乘再求和的操作就叫卷積(Convolution)或協相關(Correlation).

協相關(Correlation)和卷積(Convolution)很類似,兩者唯一的差別就是卷積在計算前需要翻轉卷積核,而協相關則不需要翻轉.

sobel算子

主要用作邊緣檢測,是離散差分算子,用來運算圖像梯度函數的灰度近似值。在圖像的任何一點使用此算子,將會產生對應的梯度矢量或者法矢量。

書上的sobel模板不是卷積模板,而是協相關模板,卷積的話要先將模板旋轉180度以后再與圖像做相關操作。

Gx方向的相關模板:
在這里插入圖片描述

Gy方向的相關模板:
在這里插入圖片描述

Sobel的卷積模板Gx:
在這里插入圖片描述

sobel卷積模板Gy:
在這里插入圖片描述

具體計算為,每個像素(灰度值)與模板對應位置元素相乘求和(類似于CNN中的卷積,其實是協相關運算),來計算該點灰度的大小:
在這里插入圖片描述
為了提高效率使用不開平方的近似值:
在這里插入圖片描述
用以下公式計算梯度方向:
在這里插入圖片描述
Sobel算子用來計算圖像灰度函數的近似梯度。Sobel算子根據像素點上下、左右鄰點灰度加權差,在邊緣處達到極值這一現象檢測邊緣。對噪聲具有平滑作用,提供較為精確的邊緣方向信息,邊緣定位精度不夠高。當對精度要求不是很高時,是一種較為常用的邊緣檢測方法。

部分算子介紹

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

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

相關文章

電子商務類網站需要什么配置的服務器?

隨著電子商務的迅猛發展,越來越多的企業和創業者選擇在互聯網上開設自己的電商網站。為了確保電商網站能夠高效運行,給用戶提供良好的體驗,選擇合適的服務器配置至關重要。今天飛飛將和你分享電子商務類網站所需的服務器配置,希望…

【實際開發19】- 壓測 / 調優準備

目錄 1. Jmeter 2. Jmeter 環境部署 1. 配置 : 臨時修改語言 ~ Options → Choose Language → Chinese 3. Jmeter 并發測試 0. 提示 : Postman 測試是“串行”的 , 無法測試并發請求 1. daiding 1. Jmeter 下載 : Apache JMeter - Download Apache JMeter 詳參&#xf…

Mac下編譯32位Qt

不建議,MAC新版不支持32位程序!!! Mac下編譯32位Qt 關于Mac10.11.4下編譯32bit Qt5.6.1的問題

【已解決】mac端 sourceTree 解決remote: HTTP Basic: Access denied報錯

又是在一次使用sourcetree拉取或者提交代碼時候,遇到了sourcetree報錯; 排查了一會,比如查看了SSH keys是否有問題、是否與sourcetree賬戶狀態有問題等等,最終才發現并解決問題 原因: 因為之前公司要求企業gitlab中…

【Java】異常處理 之 使用SLF4J 和 Logback

使用SLF4J和Logback 前面介紹了Commons Logging 和Log4j 這一對好基友,它們一個負責充當日志 API,一個負責實現日志底層,搭配使用非常便于開發。 有的童鞋可能還聽說過SLF4J和Logback。這兩個東東看上去也像日志,它們又是啥&…

JavaEE初階:多線程 - 編程

1.認識線程 我們在之前認識了什么是多進程,今天我們來了解線程。 一個線程就是一個 "執行流". 每個線程之間都可以按照順訊執行自己的代碼. 多個線程之間 "同時" 執行 著多份代碼. 引入進程這個概念,主要是為了解決并發編程這樣的…

編譯工具:CMake(三)| 最簡單的實例升級

編譯工具:CMake(三)| 最簡單的實例升級 前言過程語法解釋ADD_SUBDIRECTORY 指令 如何安裝目標文件的安裝普通文件的安裝:非目標文件的可執行程序安裝(比如腳本之類)目錄的安裝 修改 Helloworld 支持安裝測試 前言 本篇博客的任務…

utf-8和utf-8 mb4區別

UTF-8(Unicode Transformation Format-8)和UTF-8MB4(UTF-8 Multibyte 4-byte)是字符編碼方案,用于表示 Unicode 字符集中的字符。它們之間的主要區別在于編碼范圍。 UTF-8:UTF-8 是一種變長編碼方式&#x…

可視化繪圖技巧100篇進階篇(七)-三維堆積柱形圖(3D Stacked Bar Chart)

目錄 前言 適用場景 圖例 繪圖工具及代碼實現 HighCharts echarts MATLAB

學習Vue:安裝Vue.js和設置開發環境

當您決定進入現代前端開發的世界,Vue.js 無疑是一個令人激動的選擇。它以其簡潔、靈活和高效的特點在開發者社區中備受贊譽。本文將為您詳細介紹如何安裝 Vue.js 并設置開發環境,讓您能夠迅速開始編寫 Vue 應用程序。 步驟1:安裝 Node.js 和 …

解決右鍵打印html只能識別1頁的問題

hello,大家好久不見,昨天在開發中遇到了一個問題,就是在自己開發的網頁中右鍵-->打印,由于頁面內容過多,打印出來的內容只被識別到一頁。 針對這一問題,查閱了好多資料最終解決啦。 1.問題重現 大家可以看到這個是我們開發的頁面,公司需要…

CentOS系統環境搭建(六)——使用docker-compose安裝redis

centos系統環境搭建專欄🔗點擊跳轉 關于Docker-compose安裝請看CentOS系統環境搭建(三)——Centos7安裝Docker&Docker Compose,該文章同樣收錄于centos系統環境搭建專欄。 Docker-compose安裝redis 文章目錄 Docker-compose安…

2023最新最全最細版本~ESP8266/ESP01S燒錄AT固件

硬件準備 圖上有兩種型號的模塊均可刷寫AT固件 ① ESP01S ② ESP8266NODEMCU 軟件準備(私聊免費分享) ESP01S1燒錄方式 如圖使用模塊燒錄座的方式~ 模塊插入燒錄座后直接連接電腦的USB接口即可~ ESP8266NODEMCU燒錄方式 如圖usb直接連接的方式~ 一端接模塊的USB口&…

數據暴漲時代,該如何數據治理?_光點科技

隨著信息技術的迅猛發展,數據已經成為現代社會的核心資源。在這個被稱為"數據暴漲時代"的時代里,大量的數據源源不斷地被產生和積累,但如何有效地管理、分析和利用這些數據成為了一個迫切需要解決的問題。數據治理,作為…

【Spring源碼】Spring擴展點及順序

Spring擴展點及順序 01-調用BeanFactoryPostProcessor的構造器 02-調用了BeanFactoryPostProcessor的postProcessBeanFactory 03-調用了BeanPostProcessor構造器 04-調用InstantiationAwareBeanPostProcessor構造方法 05-調用了InstantiationAwareBeanPostProcessor接口的Befo…

Memory Analyzer(MAT)分析內存

關于作者:CSDN內容合伙人、技術專家, 從零開始做日活千萬級APP。 專注于分享各領域原創系列文章 ,擅長java后端、移動開發、人工智能等,希望大家多多支持。 目錄 一、導讀二、概覽三、 使用3.1 hprof 文件準備3.1.1 Android sutdi…

【SpringBoot學習筆記】04. Thymeleaf模板引擎

模板引擎 所有的html元素都可以被thymeleaf替換接管 th:元素名 templates下的只能通過Controller來跳轉,templates前后端分離,需要模板引擎thymeleaf支持 模板引擎的作用就是我們來寫一個頁面模板,比如有些值呢,是動態的&#x…

cuda+anaconda+pytorch按照教程

首先安裝顯卡對應的CUDA版本,關鍵點在于區別顯卡支持的CUDA最高版本和運行版本 1、查看當前顯卡支持的最高版本,有兩種方式: 1)NVIDIA控制面板—>幫助—>系統信息—>組件—>NVCUDA.dll對應版本 請注意,12…

2023年國賽數學建模思路 - 案例:ID3-決策樹分類算法

文章目錄 0 賽題思路1 算法介紹2 FP樹表示法3 構建FP樹4 實現代碼 建模資料 0 賽題思路 (賽題出來以后第一時間在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 算法介紹 FP-Tree算法全稱是FrequentPattern Tree算法,就是頻繁模…

項目:基于UDP的TFTP文件傳輸

1)tftp協議概述 簡單文件傳輸協議,適用于在網絡上進行文件傳輸的一套標準協議,使用UDP傳輸特點: 是應用層協議 基于UDP協議實現 數據傳輸模式 octet:二進制模式(常用) mail:已經不再…