1. 程式人生 > >形態學應用——影象開運算與閉運算

形態學應用——影象開運算與閉運算

(如果不瞭解腐蝕與膨脹原理的同學那請看我前一期部落格哦!)

  • 1.開運算
    開運算 = 先腐蝕運算,再膨脹運算(看上去把細微連在一起的兩塊目標分開了)
    開運算的效果圖如下圖所示:
    這裡寫圖片描述
  • 開運算總結:
    (1)開運算能夠除去孤立的小點,毛刺和小橋,而總的位置和形狀不便。
    (2)開運算是一個基於幾何運算的濾波器。
    (3)結構元素大小的不同將導致濾波效果的不同。
    (4)不同的結構元素的選擇導致了不同的分割,即提取出不同的特徵。
  • 2.閉運算
    閉運算 = 先膨脹運算,再腐蝕運算(看上去將兩個細微連線的圖塊封閉在一起)
    閉運算的效果圖如下圖所示:

這裡寫圖片描述
- 閉運算總結:
(1)閉運算能夠填平小湖(即小孔),彌合小裂縫,而總的位置和形狀不變。
(2)閉運算是通過填充影象的凹角來濾波影象的。
(3)結構元素大小的不同將導致濾波效果的不同。
(4)不同結構元素的選擇導致了不同的分割。

我們可以使用opencv自帶函式進行除錯哦!
openCV裡有一個很好的函式getStructuringElement,我們只要往這個函式傳相應的處理引數,就可以進行相應的操作了,使用起來非常方便。下面我簡單列舉一下相應的操作巨集定義:

識別符號 含義
MORPH_OPEN 開運算
MORPH_CLOSE 閉運算
MORPH_ERODE 腐蝕
MORPH_DILATE 膨脹

我就簡單舉個例子:

#include<opencv2\opencv.hpp>   
#include<opencv2\highgui\highgui.hpp>
using namespace std; using namespace cv; int main() { Mat img = imread("寒山不冷.jpg"); namedWindow("原始圖", WINDOW_NORMAL); imshow("原始圖", img); Mat out; //獲取自定義核 第一個引數MORPH_RECT表示矩形的卷積核,當然還可以選擇橢圓形的、交叉型的 Mat element = getStructuringElement(MORPH_RECT, Size(18, 18)); //具體要選擇哪種操作,就修改第三個引數就可以了。這裡演示的是形態學開運算處理
morphologyEx(img, out, MORPH_OPEN, element); namedWindow("形態學處理操作", WINDOW_NORMAL); imshow("形態學處理操作", out); waitKey(0); }

相關推薦

形態學應用——影象運算運算

(如果不瞭解腐蝕與膨脹原理的同學那請看我前一期部落格哦!) 1.開運算 開運算 = 先腐蝕運算,再膨脹運算(看上去把細微連在一起的兩塊目標分開了) 開運算的效果圖如下圖所示: 開運算總結:

形態學濾波:(1)腐蝕膨脹 (2)運算運算形態學梯度,頂帽,黑帽

來講 極小值 -h 明顯 基本 極限 元素 腐蝕 黑帽 一、形態學概述   圖像處理中的形態學一般指的是數學形態學。   數學形態學是一門建立在格論和拓撲學基礎之上的圖像分析學科,是數學形態學圖像處理的基本理論。其基本運算包括:二值腐蝕和膨脹,二值開閉運算,骨架抽取,極限腐

[Python影象處理] 九.形態學影象運算運算、梯度運算

該系列文章是講解Python OpenCV影象處理知識,前期主要講解影象入門、OpenCV基礎用法,中期講解影象處理的各種演算法,包括影象銳化運算元、影象增強技術、影象分割等,後期結合深度學習研究影象識別、影象分類應用。希望文章對您有所幫助,如果有不足之處,還請海涵~ 同時推薦作者的

形態學影象處理:運算運算形態學梯度、頂帽、黑帽合輯

說明 開運算:先腐蝕後膨脹的過程,可以用來消除小物體、在纖細點處分離物體、平滑較大物體的邊界的同時並不明顯改變其面積。 閉運算:先膨脹後腐蝕的過程,能夠排除小型黑洞(黑色區域)。 形態學梯度:膨脹圖與腐蝕圖之差,對二值影象進行這一操作可以將團塊(blob)的邊緣突出出來。可以用形態學

【OpenCV入門教程之十一】 形態學影象處理(二):運算運算形態學梯度、頂帽、黑帽合輯

上篇文章中,我們重點了解了腐蝕和膨脹這兩種最基本的形態學操作,而運用這兩個基本操作,我們可以實現更高階的形態學變換。所以,本文的主角是OpenCV中的morphologyEx函式,它利用基本的膨脹和腐蝕技術,來執行更加高階的形態學變換,如開閉運算、形態學梯度、“頂帽”、“黑帽

Python 影象處理 OpenCV (9):影象處理形態學運算運算以及梯度運算

![](https://cdn.geekdigging.com/opencv/opencv_header.png) 前文傳送門: [「Python 影象處理 OpenCV (1):入門」](https://www.geekdigging.com/2020/05/17/5513454552/) [「Pyt

opencv中的運算運算形態學梯度,頂帽和黑帽簡介

1.開運算 開運算 = 先腐蝕運算,再膨脹運算(看上去把細微連在一起的兩塊目標分開了) 開運算的效果圖如下圖所示: 開運算總結: (1)開運算能夠除去孤立的小點,毛刺和小橋,而總的位置和形狀不便。 (2)開運算是一個基於幾何運算的濾波器。 (3)結構元素大小的不同將導致濾波

C++——bmp二值影象的腐蝕、膨脹、運算運算

本文實現二值bmp影象的腐蝕、膨脹及開運算、閉運算操作。本文使用白色為前景、黑色為背景的二值圖進行操作:1、腐蝕腐蝕操作是結構原中心在被腐蝕影象中平移填充的過程。影象A被結構元B腐蝕,用集合論來表示如下式:                                   

Opencv--形態學影象處理--膨脹腐蝕,操作操作

一、理論與概念講解——從現象到本質 1.1 形態學概述 形態學(morphology)一詞通常表示生物學的一個分支,該分支主要研究動植物的形態和結構。而我們影象處理中指的形態學,往往表示的是數學形態學。下面一起來了解數學形態學的概念。 數學形態學(M

python 簡單影象處理(13) 二值圖腐蝕和膨脹,運算運算

我們直接看圖吧 我們把粗框內的區域看作原影象 假設有一個圓在影象空間移動,取一個點作為圓的中心,若圓的區域被完全包含在原影象中 則我們把它放到腐蝕後的區域中 若只有一部分在原影象區域或沒有一個點在原圖區域中,我們則不會把它放在腐蝕區中 顯然,粗框區域腐蝕後會變成內部填充框區域 而膨脹卻恰恰相反 把粗框線

006】形態學運算運算形態學梯度、頂帽、黑帽及OpenCV實現

一、開發環境1、Windows 7 64位 SP1 旗艦版;2、Qt 5.10.1;3、OpenCV 3.4.1二、形態學運算2.1 開運算    腐蝕與膨脹作為形態學的基本操作,經過組合後可以很容易的實現更高一級的形態學運算。開運算即是先腐蝕後膨脹的得到的結果,即dst =

【Matlab學習筆記】【數學形態學】膨脹、腐蝕、運算運算、擊中擊不中變換

1.形態學膨脹操作: %膨脹 imdilate(dilate=膨脹/擴大) clc clear A1=imread('C:\Users\Administrator\Pictures\DIP3E_CH09_Original_Images\DIP3E_Original

openCV學習筆記(二十三) —— 形態學濾波—— 運算運算形態學梯度、頂帽、黑帽

原理       程式 #include<opencv2/opencv.hpp> using namespace std; using namespace cv; /* 巨集定義 */ #define ORIGINAL_WINDOW

影象運算運算

1、原理 影象開運算與閉運算與膨脹和腐蝕運算有關,由膨脹和腐蝕兩個運算的複合與集合操作(並、交、補等)組合成的運算構成。開運算與閉運算依據腐蝕和膨脹演變而來。 1)開運算:先對影象腐蝕後膨脹。 A○S= (AΘS)⊕ S 作用:用來消除小的物體,平滑形狀邊界,並且不改變其面積。可以去除小顆粒噪聲,斷開物體之間

0039-OpenCV環境下做運算運算、梯度運算、頂帽運算、黑帽運算

形態學的開運算、閉運算、梯度運算、頂帽運算、黑帽運算都是建立在形態學的腐蝕膨脹操作之上的,下面分別介紹。 開運算:先腐蝕後膨脹的過程,可以用來消除小物體。閉運算:先膨脹再腐蝕,用於排除小型黑洞。形態學梯度:膨脹圖與腐蝕圖之差,用於保留物體的邊緣輪廓。頂帽:原影象與開運算圖之差,用於分離比鄰近點亮

形態學操作操作

//開操作 void Open(IplImage *src,IplImage *dst,IplImage *se,Position *center){    Erode(src, dst, se, center);   Dilate(dst, dst, se, center); } //閉操作void Cl

比較java右移運算除法運算速度

這裡用到的時間單位是毫微秒。(1秒=10^3毫秒=10^6微秒=10^9毫微秒 ) 執行的時間如下 (計算時間,每次計算出來的時間或多或少都會有差別) (times)運算多少次 time1(運算花費的時間)【單位:微秒】 time

Hive常用運算(關係運算)、邏輯運算數學運算、數值運算、日期函式、條件函式、字串函式

hive 常用運算 第一部分:關係運算 Hive支援的關係運算符 •常見的關係運算符 •等值比較: = •不等值比較: <> •小於比較: < •小於等於比較: <= •大於比較: > •大於等於比較: >= •空值判斷:

區間區間——從初等數學中吸取一點程式設計養分

開區間和閉區間,學過這個很多年了吧,估計是在初中時候的數學裡。今天特意查了下,終於又知道了“[”是閉的,“(”是開的(詳細請看下面的花色字型)。 查這個好笑否?其實是有緣由的,當然也有些用處,我慢慢道來 1.程式設計中,總是很頻繁的要實現對資料進行搜尋,查詢的程式碼。以搜尋舉例,要給定開關條件

運算乘除運算的對比實驗

Java 的JDK中存在很多位運算的使用,其目的是為了讓程式碼跑的更快一些,我們做一個實驗,看看到底可以節省多少計算時間。 以下程式碼中,分別使用了乘除運算和位運算來進行了一億次基礎操作,並列印了所消耗的時間。 /** * 比較乘除運算和位運算時間消耗上的差距 */