【Emgu CV教程】7.8、圖像銳化(增強)之同態濾波

文章目錄

  • 一、同態濾波大體原理
  • 二、代碼
  • 三、效果舉例


一、同態濾波大體原理

之前介紹的幾個銳化、增強方法,包括更早之前介紹的圖像模糊方法,都是基于空間域進行處理,也就是直接對目標點周邊像素值進行各種數學運算。而這篇文章提到的同態濾波,就要更厲害了,是基于頻率域的,要用到Dft()傅里葉變換函數。

高等數學比較好的讀者可能很好理解,我看了半天也沒明白是什么意思,下面都是我自己的理解,可能有錯的啊。傅里葉變換是一個非常厲害的操作,圖像的原始表達方式是 m * n個像素點組合,這個叫空間域,空間域大小就是m * n,轉成頻率域呢,用處就大了,因為高頻的就是噪聲或者物體邊緣,低頻的就是圖像內比較平緩的部位,比如藍天、純色背景、雪地等等。因為有了高低頻,就可以提取出邊緣、噪聲來,進一步就可以對邊緣、噪聲進行有針對性的處理。

通過傅里葉轉換,在頻率域內對圖像進行處理,也是很重要、很有效的一種辦法,屬于比較高級的應用,很值得用一大章來仔細講解,可惜我不會,就免了吧。

二、代碼

網上有很對專家利用OpenCV 實現同態濾波,原理也講了不少,讀者們可以去找找。我這里也是根據他們的原始代碼,轉換成Emgu CV + C#的形式來實現,代碼如下:

Mat dstMat = new Mat();// 1、log變換,將源圖像轉為float類型  然后進行log變換
Mat gray = srcMat.Clone();// CvInvoke.Resize(gray, gray, new System.Drawing.Size(1280, 720), 0, 0, Inter.Linear);
CvInvoke.CvtColor(gray, gray, ColorConversion.Bgr2Gray);
Mat f = new Mat();
gray.ConvertTo(f, DepthType.Cv32F, 1 / 255.0);
f += 0.1;
CvInvoke.Log(f, f);// 2、傅里葉變換
Mat fourierMat = new Mat();
CvInvoke.Dft(f, fourierMat, DxtType.Forward, 0);// 3、構造一個高斯頻域高通濾波器
Mat filter = new Mat(fourierMat.Rows, fourierMat.Cols, DepthType.Cv32F, 1);
filter.SetTo(new MCvScalar(0, 0, 0));
Image<Gray, double> filterImage = filter.ToImage<Gray, double>();
for (int y = 0; y < filter.Rows; y++)
{for (int x = 0; x < filter.Cols; x++){int xx = x > filter.Cols / 2 ? x - filter.Cols : x;int yy = y > filter.Rows / 2 ? y - filter.Rows : y;double duv = Math.Sqrt((xx * xx) + (yy * yy));double d0 = 3;double huv = ((1.0 - 0.4) * (1 - Math.Pow(2.71828, -1 * (duv * duv / (d0 * d0))))) + 0.4;filterImage.Data[y, x, 0] = huv;}
}filter = filterImage.Mat;
filter.ConvertTo(filter, DepthType.Cv32F);// 4、濾波,將傅里葉變換過后的圖像與濾波器相乘:
CvInvoke.Multiply(fourierMat, filter, fourierMat, 1); // 相乘后,最大值255,最小值0// 5、傅里葉逆變換,指數變換(圖像還原)
CvInvoke.Dft(fourierMat, dstMat, DxtType.InvScale, 0);
CvInvoke.Exp(dstMat, dstMat);
dstMat -= 0.1;// 6、顯示
CvInvoke.Imshow("Destination image,methord 2,  " + dstMat.Size.ToString(), dstMat);

不要問為什么,因為我也看不懂,對于頻率域操作,代碼能跑起來就是萬幸了。

三、效果舉例

原始素材定義為srcMat,如下:
在這里插入圖片描述
還是這張夜晚天橋的照片,執行上述代碼,同態濾波增強后的圖像如下:
注意哈,它是銳化的作用,因此最終輸出的圖像,明暗對比沒有被增強,但是仔細看,最下方地磚的紋理和樹葉的邊緣,是不是更清晰了????

同態濾波就是灰度增強,使圖形明亮更均勻,而且明亮處的紋理保留的很好。代碼執行起來速度很快,效果也很好,值得有興趣的同學們去研究研究。再舉個例子加深印象,如下:
在這里插入圖片描述


原創不易,請勿抄襲。共同進步,相互學習。

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

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

相關文章

學習計算機的好處

之前寫了那么多計算機知識&#xff0c;卻沒有一篇寫我學計算機的初衷。 掌握計算機技術不僅可以提高我們的就業能力和競爭力&#xff0c;同時有助于我們更好地認識世界&#xff0c;提高工作效率和解決問題的能力&#xff0c;更好地利用科技創造更美好的未來。 因此&#xff0c…

pyvisa庫實現儀器控制

python控制儀器實現自動化常用pyvisa庫&#xff0c;基本控制可大致分為創建儀器控制對象、寫入控制指令、讀取儀表信息和查詢儀表狀態&#xff0c;下面進行基本的講解。 pyvisa庫創建儀表控制對象 import tkinter.messagebox import pyvisaclass InstrumentControl:inst Non…

喜迎喬遷,開啟新章 ▏易我科技新辦公區喬遷慶典隆重舉行

2024年1月18日&#xff0c;易我科技新辦公區喬遷慶典在熱烈而喜慶的氛圍中隆重舉行。新辦公區的投入使用&#xff0c;標志著易我科技將以嶄新姿態邁向新的發展階段。 ▲ 易我科技新辦公區 隨著公司業務的不斷發展和壯大&#xff0c;為了更好地適應公司發展的需要&#xff0c;…

2024-02-29(Flink)

1.Flink原理&#xff08;角色分工&#xff09; 2.Flink執行流程 on yarn版&#xff1a; 3.相關概念 1&#xff09;DataFlow&#xff1a;Flink程序在執行的時候會被映射成一個數據流模型&#xff1b; 2&#xff09;Operator&#xff1a;數據流模型中的每一個操作被稱作Operat…

Spring Boot 高級實踐探索:深度解讀與實戰演練

隨著開發者對Spring Boot框架的基礎運用日漸嫻熟&#xff0c;邁向更深層次的技術探究和應用場景拓展顯得尤為重要。本文將帶領讀者深入研究Spring Boot的若干核心進階特性&#xff0c;并結合實際項目案例&#xff0c;涵蓋自動化測試策略的深化應用、高級配置管理機制的巧妙運用…

Redis 之四:Redis 事務和樂觀鎖

事務特點 Redis 事務可以一次執行多個命令&#xff0c; 并且帶有以下三個重要的保證&#xff1a; 批量操作在發送 EXEC 命令前被放入隊列緩存。 收到 EXEC 命令后進入事務執行&#xff0c;事務中任意命令執行失敗&#xff0c;其余的命令依然被執行。不具備原子性。 在事務執…

通訊錄——C語言實現

頭文件Contact.h #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<string.h> #include<stdlib.h> #pragma once #define MAX 100 #define MAX_NAME 20 #define MAX_SEX 5 #define MAX_TELE 12 #define MAX_ADDR 30//表示一個人的信息 //struct…

npm使用國內淘寶鏡像的方法整理

命令配置安裝&#xff1a; 淘寶鏡像&#xff1a; npm config set registry https://registry.npm.taobao.org/ 官方鏡像&#xff1a; npm config set registry https://registry.npmjs.org 通過cnpm安裝&#xff1a; npm install -g cnpm --registryhttps://registry.npm.…

PTA L2-003 月餅 (附坑點說明)

月餅是中國人在中秋佳節時吃的一種傳統食品&#xff0c;不同地區有許多不同風味的月餅。現給定所有種類月餅的庫存量、總售價、以及市場的最大需求量&#xff0c;請你計算可以獲得的最大收益是多少。 注意&#xff1a;銷售時允許取出一部分庫存。樣例給出的情形是這樣的&#…

如何在Java中反轉字符串?

目錄 1. 使用StringBuilder的reverse方法&#xff1a; 2. 使用for循環和字符數組&#xff1a; 3. 使用遞歸&#xff1a; 4. 使用Java 8的Stream API&#xff1a; More Java中&#xff0c;反轉字符串可以通過多種方式實現。以下是一些常見的方法&#xff1a; 1. Java中使用…

【Python】PyGameUI控件

哈里前段時間寫了一個windows平板上自娛自樂&#xff08;春節和家人一起玩&#xff09;基于pygame的大富翁游戲。 pygame沒有按鈕之類的UI控件&#xff0c;寫起來不怎么順手。就自己寫一個簡單的框架。 倉庫地址 哈里PygameUi: pygame ui封裝自用 (gitee.com) 使用示例 示…

上海亞商投顧:滬指終結月線6連陰 北向資金凈買入超160億

上海亞商投顧前言&#xff1a;無懼大盤漲跌&#xff0c;解密龍虎榜資金&#xff0c;跟蹤一線游資和機構資金動向&#xff0c;識別短期熱點和強勢個股。 一.市場情緒 三大指數昨日低開高走&#xff0c;滬指重新站上3000點&#xff0c;深成指、創業板指大漲超3%。半導體產業鏈全…

實時聊天系統PHP

實時聊天系統可以讓用戶在網站上實時交流&#xff0c;這對社交平臺、在線客服等網站非常有幫助。以下是一個簡單的基于 PHP 和 WebSocket 的實時聊天系統示例&#xff1a; 1. 首先創建一個 HTML 文件 index.html 來顯示聊天界面和發送消息的表單&#xff1a; html <!DOCTYP…

【C#】 List.Sort 方法

【C#】 List.Sort 方法 在C#中&#xff0c;List.Sort()不僅為系統自帶的變量(int, float, double …)類型的集合提供默認排序&#xff0c;還提供了自定義的排序方法。 List自帶排序 List<int> list new List<int>(); list.Add(5); list.Add(3); list.Add(4); l…

探索那些能喚起情感共鳴的壁紙

1、方小童在線工具集 網址&#xff1a; 方小童 該網站是一款在線工具集合的網站&#xff0c;目前包含PDF文件在線轉換、隨機生成美女圖片、精美壁紙、電子書搜索等功能&#xff0c;喜歡的可以趕緊去試試&#xff01;

Python:關于數據服務中的Web API的設計

搭建類似joinquant、tushare類似的私有數據服務應用&#xff0c;有以下一些點需要注意&#xff1a; 需要說明的是&#xff0c;這里討論的是web api前后端&#xff0c;當然還有其它方案&#xff0c;thrift&#xff0c;grpc等。因為要考慮到一魚兩吃&#xff0c;本文只探討web ap…

高項軟考電子版論文答題紙(附下載)

24年軟考又要來了&#xff0c;作為高項軟考的攔路虎&#xff0c;論文你準備好了嗎&#xff1f;&#xff01;記住在開始考試之前一定要用論文答題紙上把準備好的論文&#xff0c;在規定的時間內寫上幾遍&#xff0c;一是現在很少動筆寫字了。二是、熟悉一下論文考試的感覺。 準備…

UniApp Vue 3 中的網絡請求封裝詳解及用法

在UniApp中&#xff0c;結合Vue 3的強大特性&#xff0c;進行網絡請求的封裝是項目中常見的需求。這樣的封裝不僅提高了代碼的可維護性&#xff0c;還使得在組件中使用網絡請求更加簡潔。本文將詳細介紹UniApp Vue 3中的網絡請求封裝&#xff0c;并提供一個簡單的用法示例。 1…

索引使用規則4——覆蓋索引回表查詢

覆蓋索引&#xff1a;查詢使用了索引&#xff0c;并且需要返回的列&#xff0c;在索引里面都可以找到&#xff0c;減少select*的使用 1、using index condition Extra 為using index condition 表明查找使用了索引&#xff0c;但是需要回表查詢&#xff08;也就是先二級索引&…

第十八屆全國大學生智能汽車競賽——攝像頭算法(附帶個人經驗)

文章目錄 前言一、攝像頭圖像處理1、攝像頭圖像采集2、圖像二值化與大津算法 二、左右邊界&#xff0c;中線掃描 前言 參加了第十六&#xff0c;十七和第十八屆全國大學生智能車競賽&#xff0c;對攝像頭的學習有部分心得&#xff0c;分享給大家&#xff0c;三屆車賽&#xff…