緒:
區域發展法是圖像朋分方式的一種;
其是按照區域內像素點的相似性質;
本文本家兒要介紹:
區域發展法的根基思惟;關頭問題;
算法實現流程;示例法式;

需要這些哦
OpenCV 2410
方式/
1根基思惟:
區域發展法的根基思惟是:將具有相似性質的像素點歸并到一路;
在每一個區域內起首要指定一個種子點作為發展的起點;
然后將種子點四周鄰域的像素點與種子點進行比力 ,
對具有相似性質的點歸并之后繼續標的目的外發展 ,
直到沒有知足前提的像素被包羅進來為止;
如許一個區域的發展就完當作了 。
下圖是:發在PAMI上的LSD直線檢測算法中的關頭一步就是找line support regions.這個區域的查找就是操縱區域發展法例 , 發展的前提就是梯度的偏向角度;
圖中第一張圖是原始圖像 , 第二張是計較梯度角度 , 第三張是按照梯度角度區域發展的成果 , 不異顏色就是一個區域發展成果 。

2關頭點在于:
①給定種子點(種子點若何拔取)
種子點的拔取良多時辰都采用人工交互的方式實現 ,
也有效其他體例的 , 好比尋找物體并提取物體內部點作為種子點 。
②確定在發展過程中能將相鄰像素包羅進來的準則(相似性質準則)
灰度圖像的差值;
彩色圖像的顏色等等 。
都是關于像素與像素間的關系描述 。
③發展的遏制前提:
四連通與八連通

3區域發展流程:
①給出種子點 , 這里一次給出一個種子點
②給出相似性準則 , 這里采用灰度差;
③將種子點與其八鄰域像素點進行相似性比力;相似點則作為下次發展的種子點;
④遏制發展:八鄰域內沒有歸并的像素點時 , 即沒有新的種子點時 , 遏制 。
如圖所示:

4示例法式:
OpenCV沒有自帶區域發展函數;
為了申明區域是若何發展的 ,
#include <opencv2\opencv.hpp>
#include <opencv2\highgui\highgui.hpp>
#include <opencv2\features2d\features2d.hpp>
#include <opencv2\core\core.hpp>
using namespace std;
using namespace cv;
void RegionGrowing(Mat srcImg,Mat& dstImg,Point pt,int thre)
{
Point ptGrowing;//發展點像素坐標
int nGrowLabel=0;//是否被標識表記標幟
int startPtValue=https://vvvtt.com/article/0;//發展肇端點灰度值
int currPtValue=https://vvvtt.com/article/0;//當前發展點灰度值
//8鄰域
int mDir[8][2]={{-1,-1},{0,-1},{1,-1},{-1,0},{1,0},{-1,1},{0,1},{1,1}};
vector<Point> growPtVec;//發展點倉庫
growPtVec.push_back(pt);//將初始發展點壓入倉庫
猜你喜歡
- 2019南陽限行限號規定 南陽限行限號區域地圖
- 怎么選擇打印區域
- 萬代蘭葉子黃了怎么辦
- 佛手花的家庭養殖方法
- OpenCV:calcHist計算圖像直方圖
- 如何通過win10區域語言對語音功能進行設置
- 十大代表勇氣和堅強的植物圖片:十種頑強生長的花朵
- Excel一鍵實現區域內容在下標和常規間切換技巧
- 彼岸花喜歡什么環境,彼岸花適合在什么環境生長
- Etc怎么辦理 怎么辦理Etc
