matlab影像處理之開運算閉運算(1)
matlab影像處理形態學濾波之開運算閉運算(1)
剛入門的朋友估計對開閉運算還不太瞭解,首先先了解幾個名詞:
腐蝕: 是一種消除邊界點,使邊界向內部收縮的過程。可以用來消除小且無意義的物體。
膨脹: 是將與物體接觸的所有背景點合併到該物體中,使邊界向外部擴張的過程。可以用來填補物體中的空洞。
開運算: 先腐蝕後膨脹的過程開運算。用來消除小物體、在纖細點處分離物體、平滑較大物 體的邊界的同時並不明顯改變其面積。開運算通常是在需要去除小顆粒噪聲,以及斷開目標物之間粘連時使用。其主要作用與腐蝕相似,與腐蝕操作相比,具有可以基本保持目標原有大小不變的優點。
閉運算: 先膨脹後腐蝕的過程稱為閉運算。用來填充物體內細小空洞、連線鄰近物體、平滑 其邊界的同時並不明顯改變其面積。
膨脹: 是將與物體接觸的所有背景點合併到該物體中,使邊界向外部擴張的過程。可以用來填補物體中的空洞。
開運算: 先腐蝕後膨脹的過程開運算。用來消除小物體、在纖細點處分離物體、平滑較大物 體的邊界的同時並不明顯改變其面積。開運算通常是在需要去除小顆粒噪聲,以及斷開目標物之間粘連時使用。其主要作用與腐蝕相似,與腐蝕操作相比,具有可以基本保持目標原有大小不變的優點。
閉運算: 先膨脹後腐蝕的過程稱為閉運算。用來填充物體內細小空洞、連線鄰近物體、平滑 其邊界的同時並不明顯改變其面積。
對一個影像先進行腐蝕運算然後再膨脹的操作過程稱為開運算,它可以消除細小的物體、在纖細點處分離物體、平滑較大物體的邊界時不明顯的改變其面積。如果對一個影像先膨脹然後再收縮,我們稱之為閉運算,它具有填充物體內細小的空洞、連線鄰近物體、在不明顯改變物體面積的情況下平滑其邊界的作用。通常情況下,當有噪聲的影像用閾值二值化後,所得到的邊界是很不平滑的,物體區域具有一些錯判的孔洞,背景區域散佈著一些小的噪聲物體,連續的開和閉運算可以顯著的改善這種情況,這時候需要在連線幾次腐蝕迭代之後,再加上相同次數的膨脹,才可以產生所期望的效果。
所以,換一種說法,影像的開閉運算實質上是數學形態的非線性濾波去噪的一個過程。
知道以上名詞了我們就可以把我們的想法與之匹配,通過開閉運算來實現我們的目的。
matlab程式如下:
i=imread('image.jpg');
i1=rgb2gray(i); %轉灰度影像
i2=im2bw(i1); %二值化搜尋
i3 = bwmorph(i2,'close'); %閉運算
imshow(i3)
i4 = bwmorph(i2,'open'); %開運算
figure, imshow(i4)
%bwmorph還支援類似bothat tophat thin等操作個體看下help引數
%說明:前提條件是傳入的影像應該是二值後的
更強大的有關腐蝕膨脹以及開閉運算的matlab程式參考連結:
http://blog.csdn.net/zhangyibo123456789/article/details/60957376
相關文章
- Python 影像處理 OpenCV (9):影像處理形態學開運算、閉運算以及梯度運算PythonOpenCV梯度
- Python 影像處理 OpenCV (10):影像處理形態學之頂帽運算與黑帽運算PythonOpenCV
- [Python影象處理] 九.形態學之影象開運算、閉運算、梯度運算Python梯度
- opencv 開運算、閉運算OpenCV
- Python 影像處理 OpenCV (4):影像算數運算以及修改顏色空間PythonOpenCV
- Python 影像處理 OpenCV (12): Roberts 運算元、 Prewitt 運算元、 Sobel 運算元和 Laplacian 運算元邊緣檢測技術PythonOpenCV
- 【數字影像處理】影像形態學演算法C語言實現(影像卷積,膨脹,腐蝕,開運算,閉運算,頂帽,黑帽,雕版,銳化)演算法C語言卷積
- OpenCV計算機視覺學習(15)——淺談影像處理的飽和運算和取模運算OpenCV計算機視覺
- 影像處理第二篇之波段運算(軟體外掛篇)
- Numpy 加法運算,opencv 加法運算,影像的融合OpenCV
- 處理器運算位數
- Python 影像處理 OpenCV (13): Scharr 運算元和 LOG 運算元邊緣檢測技術PythonOpenCV
- JavaScript 資料處理 - 運算元組JavaScript
- Python影像處理丨三種實現影像形態學轉化運算模式Python模式
- sobel運算元,matlab實現Matlab
- java中與運算,或運算,異或運算,取反運算Java
- 【OpenCV】影像變換(二)邊緣檢測:梯度運算元、Sobel運算元和Laplace運算元OpenCV梯度
- MATLAB(6)矩陣和向量運算Matlab矩陣
- opencv入門系列教學(六)影像上的算術運算(加法、融合、按位運算)OpenCV
- php 處理 浮點數 精度運算 數字處理等PHP
- webgl 影像處理 加速計算Web
- [Python影象處理] 十.形態學之影象頂帽運算和黑帽運算Python
- js 處理四則運算失去精度問題JS
- 計算機視覺 の1. 影像預處理計算機視覺
- 使用運算元控制公式運算公式
- JavaScript 開方運算JavaScript
- opencv影像處理學習隨筆:幫助文件運算公式中saturate的含義OpenCV公式
- L1 複數與複數運算 | matlab視覺化Matlab視覺化
- matlab影像點運算 對比度增強 對比度拉伸 灰度變換Matlab
- 一種高效的 vector 四則運算處理方法
- 使用位運算進行加法運算
- Python從零到壹丨影像增強的頂帽運算和底帽運算Python
- iOS 開發 – 位運算iOS
- spark-運算元-分割槽運算元Spark
- 二進位制、位運算、位移運算
- (位運算)兩個字串的位運算字串
- Spark運算元篇 --Spark運算元之aggregateByKey詳解Spark
- Spark運算元篇 --Spark運算元之combineByKey詳解Spark