Halcon實現邊緣提取

一、邊緣提取

?

1、設置ROI興趣區域

2、快速二值化,并連接相鄰區域。
這樣做的目的是進一步減少目標區域,通過二值化將目標區域大概輪廓提取出來

3、提取最接近目標區域的輪廓
常用函數有boundary,gen_contour_region_xld

4、根據自己的需求提取需要的初步輪廓

5、將初步提取的初步輪廓進行膨脹操作

6、將膨脹后的區域和原圖進行減操作(在這步之前有可能需要對原圖進行高斯濾波)。這樣就能得到只
有邊緣的真實圖像
?

7、用canny或其他算子(根據需要)提取亞像素輪廓,一般使用edges_sub_pix函數

?

8、處理和計算
得到真實的邊緣XLD后你可能需要進一步處理得到你想要的線、弧等。
你可能用到的函數segment_contours_xld(分割) ?union_collinear_contours_xld(聯合相鄰或相同
角度直線)select_contours_xld(提取想要的輪廓) union_cocircular_contours_xld(聯合相同圓)
等等
得到輪廓后如果你不知道怎么處理后得到你想要的東西(線、弧、圓、角、矩形)你都可以將輪廓轉化
為點,然后用點集合來擬合任何你想要的東西。

二、BLOB分析檢測(前面一篇有詳細講解,本騙只講思路)

(1)應用ROI,可以使Blob分析加速。
(2)匹配ROI區域或圖像,詳將GUIDEIIB以形狀為基礎的匹配。
(3)校正圖像<經常用來去除鏡頭畸變或把圖像轉換到參考點視角,如雙目視覺時的圖像校正>
(4)圖像前處理
(5)引用分割參數
(6)分割圖像
(7)區域處理
(8)特征提取
(9)把提取的結果轉換到世界坐標中
(10)結果可視化。

? ? 相機的標定和矯正不在本篇的學習之中。直接講提取BLOB

?

1、一般先使用均值濾波去噪

2、利用去噪圖像與平滑圖像的OFFSET提取區域邊緣,常見函數dyn_threshold?

3、提取連通域dyn_threshold?

4、根據形狀或是灰度等特征來提取你想要的blob。
另一種方法就是分水嶺算法
watersheds (ImageGauss, Basins, Watersheds)/
?

1、對圖像進行高斯濾波

?

還有的圖形更簡單直接二值化就可以啦
bin_threshold (Fin, Dark) //分割圖像,輸出Dark區域,Fin已經被處理為區域//
difference (Fin, Dark, Background) //計算Fin與Dark兩個區域的補集//
還有個函數應該說是讓你高興還是沮喪呢,以為一個函數就可以直接提取你想要的,但是參數很難調整
? ? lines_gauss(Image, Lines, 6, 0.3, 0.5, 'light', 'true', 'gaussian', 'true')
三、贓物檢測
1、得到兩個不同高斯標準差的高斯積卷
2、對原始圖像進行傅里葉變換'to_fre'
3、用之前的積卷對圖像做積卷濾波
4、傅里葉反變換‘from_fre’

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

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

相關文章

軟件工程網絡15個人閱讀作業1 201521123038 游舒婷

軟件工程網絡15個人閱讀作業1 201521123038 游舒婷 1.博客園地址 sakurai3104 2.碼云地址 sakurai3104 3.閱讀與思考 &#xff08;1&#xff09;回想一下你初入大學時對網絡工程專業的暢想 當初你是如何做出選擇網絡工程專業的決定的&#xff1f; 填報志愿的時候&#xff0c;大…

18LaTeX學習系列之---LaTeX的參考文獻

目錄 目錄前言&#xff08;一&#xff09;簡單的參考文獻1.說明2.源代碼3.輸出效果&#xff08;二&#xff09;以文件管理的方式1.說明&#xff1a;2.源代碼&#xff1a;3.輸出效果&#xff08;三&#xff09;直接從源網站獲取1.說明&#xff12;.操作目錄 本系列是有關LaTeX的…

Vue 2.0 v-for 響應式key, index及item.id參數對v-bind:key值造成差異研究

Vue 2.0 v-for 響應式key, index及item.id參數對v-bind:key值造成差異研究 在github上閱覽README.md以獲得最佳閱讀體驗&#xff0c;點這里 v-for響應式key, index及item.id參數對v-bind:key值造成差異研究 實驗背景 通常情況下&#xff0c;我們渲染一個li列表&#xff0c;采用…

halcon edges_sub_pix算子

轉載http://blog.51cto.com/juwen/133003 介紹一下Canny算子&#xff1a; 使用累計直方圖計算兩個閥值。凡是大于高閥值的一定是邊緣&#xff1b; 凡是小于低閥值的一定不是邊緣&#xff1b;如果檢測結果大于低閥值但又小于高閥值&#xff0c;那就要看這個像素的鄰接像素中有…

Python 基礎(常用數據結構)

常用數據結構 1&#xff09;元組 元組是一種靜態的數據結構&#xff0c;無法修改&#xff0c;若要修改只能重新生成新的元組。 輸出結果&#xff1a; 元組元素的獲取是通過索引值去獲得的&#xff1b;例如上面的tup1[0]返回apple&#xff1b;另外你可以直接把tup1一次性賦給多個…

Java IO(二)——RandomAccessFile

一、RandomAccessFile RandomAccessFile類可以說是Java語言中功能最為豐富的文件訪問類&#xff0c;它提供了眾多的文件訪問方法。RandomAccessFile類支持"隨機訪問"方式&#xff0c;可以跳轉到文件的任意位置處讀寫數據。要訪問一個文件的時候&#xff0c;不想把文件…

halcon select_shape_xld按區域大小描繪xld

常用與對xld進行以面積、長、寬進行XLD的選擇操作。 select_shape_xld(XLD : SelectedXLD : Features, Operation, Min, Max : ) XLD&#xff1a;需要選擇的xld SelectedXLD:選擇后的xld Features:面積、長、高等 Operation&#xff1a;and、or等 Min&#xff1a;最小值門…

工業三防手持終端如何選

物聯宇手持終端作為工業級的數據采集器&#xff0c;目前[]()已廣泛應用在物流快遞、生產制造、零售、醫療、公共事業等領域。由于工業環境的復雜性&#xff0c;手持終端在惡劣的環境下作業&#xff0c;在性能、穩定性、電池耐用性上的要求都較高&#xff0c;同時還必須采用一些…

centos7 安裝python3

1.查看是否已經安裝Python CentOS 7.2 默認安裝了python2.7.5 因為一些命令要用它比如yum 它使用的是python2.7.5。 使用 python -V 命令查看一下是否安裝Python 然后使用命令 which python 查看一下Python可執行文件的位置 可見執行文件在/usr/bin/ 目錄下&#xff0c;切換到該…

centos svn 的搭建

一. SVN 簡介 Subversion(SVN) 是一個開源的版本控制系統, 也就是說 Subversion 管理著隨時間改變的數據。 這些數據放置在一個中央資料檔案庫(repository) 中。 這個檔案庫很像一個普通的文件服務器, 不過它會記住每一次文件的變動。 這樣你就可以把檔案恢復到舊的版本, 或是瀏…

halcon邊緣提取和檢測常用方法

轉自&#xff1a;http://blog.csdn.net/Bob_qiuxu/article/details/46924969 一、邊緣提取 1、設置ROI興趣區域 2、快速二值化&#xff0c;并連接相鄰區域。 這樣做的目的是進一步減少目標區域&#xff0c;通過二值化將目標區域大概輪廓提取出來 3、提取最接近目標區域的輪廓…

oracle sqlplus常用命令

轉自&#xff1a;https://www.cnblogs.com/wdx8927304/p/7927613.html 一、sys用戶和system用戶Oracle安裝會自動的生成sys用戶和system用戶(1)、sys用戶是超級用戶&#xff0c;具有最高權限&#xff0c;具有sysdba角色&#xff0c;有create database的權限&#xff0c;該用戶默…

使用css繪制小三角

<div style"width:0;height:0;overflow: hidden;border-top:4px solid transparent;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid red; "></div>轉載于:https://www.cnblogs.com/boonook/p/8570442.h…

C#與halcon聯合開發——內存溢出

1.對所以的局部零時變量HObject類的使用前后都加Dispose(); 2.對全局的HObject類變量進行如下定義 HObject liveImage null;HObject ExpGet_liveImage(){return liveImage;}void ExpSet_liveImage(HObject obj){if (liveImage ! null)liveImage.Dispose();liveImage obj.Cop…

點擊跳轉到QQ聊天界面

<!--//需要添加好友驗證--><a href"tencent://message/?uinQQ號碼&Site&Menuyes"><img src"需要點擊的圖片" width"80"/></a><!--不需要添加好友驗證--><a href"tencent://message/?Menuyes&am…

學習React的一知半解

① 初探 HMTL的渲染過程 ? 這個結構化文本就是 HTML 文本&#xff0c; HTML 中的每個元素都對應 DOM中某個節點&#xff0c;這樣&#xff0c;因為 HTML 元素的逐級包含關系&#xff0c; DOM 節點自然就構成了一個樹形結構&#xff0c;稱為 DOM 樹 。 ? 瀏覽器為了渲染 HTML 格…

DataTable 轉為ListT集合

public static List<T> HubbleTableToList<T>(this DataTable dt) where T:Class{List<T> _list new List<T>();if (dt null) return _list;T model;foreach (DataRow dr in dt.Rows)//進行循環dataTable行數據{model Activator.CreateInstance<…

工業相機與鏡頭分辨率匹配

// 轉自 奧普特講述工業相機與鏡頭分辨率匹配的技術方案 隨著機器視覺行業的發展&#xff0c;為了更好的滿足廣大客戶選配合適鏡頭的需求&#xff0c;奧普特自動化科技有限公司為您簡述工業相機如何選配合適的鏡頭&#xff0c;以及在相機與鏡頭的分辨率匹配方面的技術方案。 …

微信分享

<?php /*** Description of WxShare*微信分享* author xinjun*/ namespace Controller\Wx;use Controller\Home\HomeBase; use Model\Wx\UserModel; use Model\Wx\TokenModel; use Framework\Net\Request;class WxShare extends HomeBase {public function __construct(){p…

工業相機的靶面大小

在機器視覺中&#xff0c;工業相機是一種比較重要的配件。而在工業相機中&#xff0c;圖像傳感器又是最最關鍵核心的東西。而圖像傳感器的靶面的大小&#xff0c;往往直接關系到成像的質量。通常來講&#xff0c;圖像的成像質量與像素的大小成正比。這也就意味著&#xff0c;同…