Halcon圖像濾波方法與原理概述

目錄

  • 簡介
  • Halcon算子與算法原理
    • 基礎濾波
      • a、均值濾波
      • b、中值濾波
      • c、高斯濾波
      • d、導向濾波

簡介

圖像濾波,即在盡量保留圖像細節特征的條件下對目標圖像的噪聲進行抑制,是圖像預處理中不可缺少的操作,其處理效果的好壞將直接影響到后續圖像處理和分析的有效性和可靠性。(摘自百度百科)

Halcon算子與算法原理

基礎濾波

a、均值濾波

mean_image
均值濾波是指任意一點的像素值,都是周圍 N \times M 個像素值的均值
對圖像內部的噪聲及模糊圖像有很好的作用
例如下圖中,紅色點的像素值是其周圍藍色背景區域像素值之和除25,25=5\times5 是藍色區域的大小

在這里插入圖片描述

b、中值濾波

madian_image
中值濾波是非線性的圖像處理方法,在去噪的同時可以兼顧到邊界信息的保留。
選一個含有奇數點的窗口W,將這個窗口在圖像上掃描,
把窗口中所含的像素點按灰度級的升或降序排列,取位于中間的灰度值來代替該點的灰度值
對單個噪聲具有很好的平滑作用,特別是椒鹽噪聲。

在這里插入圖片描述

c、高斯濾波

gauss_filter
高斯濾波是一種線性平滑濾波,適用于消除高斯噪聲,廣泛應用于圖像處理的減噪過程。 

通俗的講,高斯濾波就是對整幅圖像進行加權平均的過程,每一個像素點的值,都由其本身和鄰域內的其他像素值經過加權平均后得到。
高斯濾波的具體操作是:用一個模板(或稱卷積、掩模)掃描圖像中的每一個像素,用模板確定的鄰域內像素的加權平均灰度值去替代模板中心像素點的值。
為了克服簡單局部平均法的弊端(圖像模糊),目前已提出許多保持邊緣、細節的局部平滑算法。它們的出發點都集中在如何選擇鄰域的大小、形狀和方向、參數加平均及鄰域各店的權重系數等。
圖像高斯平滑也是鄰域平均的思想對圖像進行平滑的一種方法,在圖像高斯平滑中,對圖像進行平均時,不同位置的像素被賦予了不同的權重。高斯平滑與簡單平滑不同,它在對鄰域內像素進行平均時,給予不同位置的像素不同的權值,下圖的所示的 3\times3 和 5\times5 鄰域的高斯模板。
在這里插入圖片描述
在這里插入圖片描述
高斯濾波讓臨近的像素具有更高的重要度,對周圍像素計算加權平均值,較近的像素具有較大的權重值。如下圖所示,中心位置權重為0.4。
在這里插入圖片描述

d、導向濾波

guided_filter
引導濾波(導向濾波)不僅能實現雙邊濾波的邊緣平滑,
而且在檢測到邊緣附近有很好的表現,可應用在圖像增強、HDR壓縮、圖像摳圖及圖像去霧等場景

引用導向濾波資料
https://blog.csdn.net/sinat_36264666/article/details/77990790?locationNum=7&fps=1

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

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

相關文章

碎片化學習不是學習碎片,看這篇了解碎片化學習的真相

高效學習的定義:找到最適合自己的學習手法,在相對短的時間內集中注意力,以解決一個工作生活當中的難題為目的著手學習,你需要勤加練習,有時候還需要向名師求助。——許岑為什么會出現碎片化學習? 隨著科技的…

一篇能加深理解linux 虛擬文件系統的博文

URL: http://asionius.com/article/9 https://www.ibm.com/developerworks/cn/linux/l-vfs/轉載于:https://www.cnblogs.com/rocklee25/p/6926267.html

如何強制ffmpeg編碼時輸出一個關鍵幀

原文地址:http://www.ffmpeg.com.cn/index.php/%E5%A6%82%E4%BD%95%E5%BC%BA%E5%88%B6ffmpeg%E7%BC%96%E7%A0%81%E6%97%B6%E8%BE%93%E5%87%BA%E4%B8%80%E4%B8%AA%E5%85%B3%E9%94%AE%E5%B8%A7 如何強制ffmpeg編碼時輸出一個關鍵幀 AVCodecContext *c //編碼器環境句…

Halcon深度學習環境搭建(win下)全網最全教程

版權聲明:本文為博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。 本文鏈接:https://blog.csdn.net/cashmood/article/details/105042928 文章目錄halcon深度學習介紹系統與環境搭建1、對電腦系統與硬件…

第二周進度及工作量統計

項目:詞頻統計修改 項目類型:個人項目 項目完成情況:已完成 項目改進:第二次改進 項目日期:2016.9.14----2.16.9.14 CCSEIT分析需求,設計15:2015:30010編碼實現15:3016:20050文檔程序說明,隨筆2…

p1484 種樹

傳送門 題目 cyrcyr今天在種樹,他在一條直線上挖了n個坑。這n個坑都可以種樹,但為了保證每一棵樹都有充足的養料,cyrcyr不會在相鄰的兩個坑中種樹。而且由于cyrcyr的樹種不夠,他至多會種k棵樹。假設cyrcyr有某種神能力&#xff0c…

Dalsa線掃相機SDK開發-小試牛刀(1)

拿到了dalsa相機,可以用Sapera軟件配置相機,進行圖像采集。但是自己開發的話就得擼起袖子寫代碼了,查了兩篇不錯的博文,作為指導。 Sapera幫助文檔 - 《好好先生》專欄 - 博客頻道 - CSDN.NET http://blog.csdn.net/liubing8609/a…

用FFMPEG SDK進行視頻轉碼壓縮時解決音視頻不同步問題的方法(轉) PTS DTS

用FFMPEG SDK進行視頻轉碼壓縮的時候,轉碼成功后去看視頻的內容,發現音視頻是不同步的。這個的確是一個惱火的事情。我在用FFMPEG SDK做h264格式的FLV文件編碼Filter的時候就碰到了這個問題。經過研究發現,FFMPEG SDK寫入視頻的時候有兩個地方…

深度學習環境搭建(GPU)CUDA安裝(完全版)

文章目錄1、查詢電腦硬件2、環境搭建與軟件安裝1、安裝CUDA運算平臺軟件2、安裝cuDNN支持包3、配置環境變量3、驗證CUDA與cuDNN安裝前幾天在看深度學習。因為對深度學習不是很了解,在配置環境時走了許多彎路,也總是戰戰兢兢的。現在對深度學習的環境搭建…

Linux 中的文件壓縮與解壓

.tar tar xvf FileName.tar # 解壓 tar cvf FileName.tar DirName # 壓縮 .gz gunzip FileName.gz # 解壓 gzip -d FileName.gz # 解壓 gzip FileName # 壓縮 .tar.gz 和 .tgz tar zxvf FileName.tar.gz # 解壓 tar zcvf FileName.tar.gz DirName # 壓縮 .bz2 bzip2 -d FileNam…

Unity3D游戲開發之自由視角下的角色控制

秦元培的博客:http://blog.csdn.net/qinyuanpei/article/details/39125353 1,[Unity3D]Unity3D游戲開發之角色控制漫談 2,[Unity3D]Unity3D游戲開發之自由視角下的角色控制 3,[Unity3D]Unity3D游戲開發之仿仙劍奇俠傳角色控制效果 轉載于:h…

Pycharm用鼠標滾輪控制字體大小

一、pycharm字體放大的設置 File —> setting —> Keymap —>在搜尋框中輸入:increase —> Increase Font Size(雙擊) —> 在彈出的對話框中選擇Add Mouse Shortcut 在彈出的對話框中同時按住ctrl鍵和鼠標滾輪向上滑。 二、…

Halcon自定義函數封裝方法(全網最詳細)

文章目錄1、名詞解釋2、例子介紹1、處理原圖與任務:2、代碼與解析:3、Halcon函數封裝方式①明確需求②選取函數部分進行函數創建,更改函數接口③運行驗證與函數更改操作有網友說不太清楚這個halcon函數的封裝方法。今天寫個教程帖子&#xff…

ffmpeg庫音頻解碼示例

#include <stdio.h> #include <stdlib.h> extern "C"{// #include "avcodec.h" #include "avformat.h" } int main(char arg,char *argv[]) { char *filename "02.swf"; av_register_all();//注冊所有可…

SQL Where in list 問題

不過,這種做法有兩個缺陷1.Oracle In列表的數目有限制(1000)2.不能復用執行計劃,每次幾乎都是硬解析.3.In拼接可能存在SQL注入的風險

readn writen實現linux下socket緩沖區讀寫

socket上的read write 操作不同與一般的文件IO操作&#xff0c;socket上的用read write讀寫的字節數可能比要求的少,但這并不是錯誤&#xff0c;原因是socket的緩沖區可能已經達到了極限。此時所需要的就是再次調用read write 以寫入或輸出剩余的字符。這種情況在socket中很常見…

傅里葉變換進行缺陷檢測detect_indent_fft.hdev(源代碼與詳細解析)

文章目錄簡介程序解析處理結果預覽算法講解簡介 detect_indent_fft.hdev是halcon的示例程序&#xff0c;是傅里葉變換進行缺陷檢測的一個例子&#xff0c;主要是傅里葉變換在復雜背景下的缺陷檢測。 這個程序展示了如何利用快速傅里葉變換&#xff08;FFT&#xff09;對塑料制…

lua環境搭建

前言 Linux & Mac上安裝 Lua 安裝非常簡單&#xff0c;只需要下載源碼包并在終端解壓編譯即可&#xff0c;本文介紹Linux 系統上&#xff0c;lua5.3.0版本安裝步驟&#xff1a; Linux 系統上安裝 [rootgitlab ~]# mkdir /app/tools/lua -p [rootgitlab ~]# cd /app/tools/l…

八、job管理

查看用法&#xff1a; [rootsuper65 ~]# salt-run -d|grep jobsjobs.active:                      #查看當前執行的job Return a report on all actively running jobs from a job id centric salt-run jobs.activejobs.list_job: salt-run jobs.list_j…

pthread_join/pthread_exit用法實例

函數pthread_join用來等待一個線程的結束。函數原型為&#xff1a;   extern int pthread_join __P ((pthread_t __th, void **__thread_return));   第一個參數為被等待的線程標識符&#xff0c;第二個參數為一個用戶定義的指針&#xff0c;它可以用來存儲被等待線程的返回…