【2021 亞太杯數學建模】賽題A-Image Edge Analysis and application影象邊緣檢測與應用 賽題思路解析及實現
1 相關內容
(1)PDF論文下載:39頁英文論文、及3個問題程式碼和資料的全家桶
(2)全家桶下載:問題1:亞畫素邊緣檢測,包含了實驗圖、實驗結果表格、生成的輪廓座標xls檔案、程式碼、數學模型、參考文獻
(3)全家桶下載【問題2】影象目標物理尺寸測量,包括了實驗圖、資料、數學模型、程式碼、參考文獻
( 4)全家桶下載【問題3】根據亞畫素點座標劃分圓弧、直線、橢圓,包括了實驗程式碼、實驗圖、論文、數學模型、參考文獻
2 題目
影象邊緣分析與應用
隨著科學技術的發展,對各種工件和零件的測量精度的要求越來越高,對測量儀器的要求也越來越高。各種影象測量裝置如數字影象尺寸測量儀正在逐步取代傳統的手工卡尺測量應用。一般情況下,攝像機經過標定後,根據標定後圖像的點陣或棋盤格特徵資訊,對影象進行畸變校正,計算出影象座標空間與世界座標空間的對映關係。
目標物體的邊緣在影象識別和計算機分析中是非常有用的。影象邊緣是影象區域性特徵的不連續性的反映。邊緣可以勾勒出目標物體的輪廓,使觀察者一目瞭然。邊緣包含豐富的內在資訊(如方向、階躍屬性step property 、形狀等),是影象識別中提取影象特徵的重要屬性。影象邊緣輪廓提取是影象邊界分割中非常重要的一項處理,也是影象處理中的一個經典問題。輪廓提取和輪廓跟蹤的目的都是為了獲取影象的外部輪廓特徵。在必要時應用某些方法來表達輪廓的特徵,為影象形狀分析做準備,對執行高階處理,如特徵描述、識別和理解有重大影響。
輪廓可以描述為一組有序點,輪廓的一般表示式為多邊形。輪廓可以是封閉的,也可以是開放的。影象上的封閉輪廓從頭到尾都是連通的,開放輪廓通常與影象邊界相交。在圖1中,有五條封閉的等高線。雖然sobel和canny等邊緣檢測演算法可以根據影象灰度值的差值來檢測影象邊緣畫素的邊界,但並沒有將輪廓作為一個整體。在影象上,輪廓對應於一系列畫素點。輪廓描述連續的點序列,邊緣畫素點可以組合成輪廓曲線來描述影象的邊緣資訊。
亞畫素是定義在影象採集感測器的兩個物理畫素之間的虛擬畫素。為了提高解析度或影象質量,亞畫素計算是非常有用的。亞畫素邊緣提取是一種比傳統畫素邊緣提取更精確的方法。亞畫素是指影象上每個畫素點的座標值不再是整數定位,而是浮點數定位。如果利用亞畫素技術將精度提高到0。1畫素,相當於提高10倍的影象系統分析解析度。
每四個紅色點圍成的矩形區域為實際原件上的畫素點,黑色點為亞畫素點
以下三個示意圖,在圖1中,提取了影象的物體邊緣輪廓線,並將影象邊緣輪廓分割成直線段、圓弧段、圓等基本圖形。在圖2中,將一個圓角矩形的邊緣輪廓分為幾個幾何形狀。在圖3中,在灰度畫素影象網格的背景上繪製了一個橢圓的亞畫素輪廓曲線。
圖1。 影象邊緣檢測
圖2。 影象邊緣輪廓
圖3。 影象的亞畫素邊緣輪廓
問題1:
建立一個數學模型,分析亞畫素邊緣提取的方法和過程。有1/10畫素精度及以上、亞畫素邊緣提取輪廓邊界的主要物件的邊緣部分的三張圖片(Pic1_1、Pic1_2 Pic1_3)在附件1中,和亞畫素邊緣點資料轉換成命令邊緣輪廓曲線資料,需要考慮如何消除邊緣毛刺和陰影部分的干擾影響。需要注意的是,Pic1_3影象是在相對複雜的光照條件下拍攝的,干涉資訊更多。
a) 將提取的不同顏色的邊緣輪廓繪製在影象上,輸出為彩色邊緣輪廓影象,儲存為png影象格式提交。檔名為pic1_1。png、pic1_2。png、pic1_3。png。
Pic1_1。png
Pic1_2。png
Pic1_3。png
b)將邊緣輪廓資料以附件1中的EdgeContoursOutput。xls檔案的格式輸出,將Pic1_1和Pic1_2影象的資料分別輸出到工作表對應的Sheet1和Sheet2。輸出資料包含總邊緣輪廓數、影象座標空間中總邊緣輪廓長度、每條輪廓曲線的點數和長度以及每條輪廓點的X、Y座標資料。
c)文中給出每張影象的總輪廓曲線計數,以及每條曲線上的點計數和長度資料。見表1、表2、表3。
Table 1。 Pic1_1 Edge Contour Data Output Format
Table 2。 Pic1_2 Edge Contour Data Output Format
Table 3。 Pic1_3 Edge Contour Data Output Format
問題2:
在拍攝被測影象時,有一個點矩陣校準板放置在目標物體的同一水平高度上。定標板上的網點直徑為1mm,兩點之間的中心距離為2mm。附件2包含三張不同角度拍攝的標定板影象和一張產品影象(pic2_1 。bmp)。請建立數學模型,利用標定板影象資訊對產品影象進行影象校正分析,考慮如何儘可能準確地計算出產品影象上邊緣分割擬合曲線段的實際物理尺寸。請計算每個邊緣輪廓的長度(mm),最後計算出總邊緣輪廓長度(mm)。根據圖4所示的輪廓資料標註,輸出附件2中EdgeContoursLengthOutput。xls等表格格式檔案的資料結果。
標定板 1
Table 4。 Edge Contour Length Output Format (mm)
待檢測圖輪廓標籤
問題3:
附件3提供了兩個亞畫素輪廓邊緣資料(EdgeContour1。xls和EdgeContour2。xls),其形狀如圖5所示。建立數學模型,分析邊緣輪廓曲線資料自動分割擬合為直線段、圓弧段(含圓)、橢圓圓弧段(含橢圓),討論邊緣輪廓自動分割擬合的模型方法或策略。藍色曲線從藍色數字1標籤開始,沿著箭頭方向輸出模型計算結果資料。綠色曲線從綠色數字1標籤開始,沿箭頭方向輸出模型計算結果資料。請將分段曲線分段的引數按表格格式填寫到表格中。提交表7和表8(輪廓1和輪廓2分割資料)。請注意,該表中的行型別是根據實際型別填充的。
Figure 5。 邊緣輪廓示例圖
Table 5。 Segmentation Data Geometric Shapes [Parameter]
Table 6。Demo Coutour Segmentation Data
Table 7。 Contour 1 Segmentation Data Output Format
Table 8。 Contour 2 Segmentation Data Output Format
備註:
SweepAngle表示從起始點到結束點的掃角,角系;
尺寸Size:表示指定橢圓或橢圓弧在X、Y方向上的半徑值;
RotationAngle:表示指定橢圓或橢圓弧轉角系統的轉角值;
對於旋轉角度的方向,從x軸正方向到y軸正方向的旋轉方向為正,反之為負。
所有影象座標點均在影象座標系下表示,即左上角為(0,0)原點,x軸正方向向右,y軸正方向向下。
3 思路
基本思維方案框架如下圖所示
3。1 問題1 亞畫素邊緣檢測
邊緣是影象最基本的特徵,邊緣檢測在計算機視覺、影象分析等應用中起著重要作用,是影象分析與識別的重要環節。這是因為影象的邊緣包含了用於識別的有用息,它為人們描述或識別目標和解釋影象提供了一個有價值的和重要的特徵引數,所以邊緣檢測是影象分析和模式識別的主要特徵提取手段。所謂邊緣是指其周圍畫素灰度後階變化或屋頂狀變化的那些畫素的集合,它存在於目標與背景、目標與目標、域與區域,基元與基元之間。因此它是影象分割所依賴的重要的特徵,也是紋理特正的重要資訊源和形狀特徵的基礎。邊緣檢測廣泛應用於輪廓、特徵的抽取和紋理分析中,理想的邊緣檢測應當正確解決邊緣的有無、真假和定位問題。但真正實現這一標尚有較大的難度,這是因為實際影象都含有噪聲,並且噪聲的分佈、方差等資訊都是未知的,同時噪聲和邊緣都是高頻訊號,雖然平滑濾波運算可消除噪聲,但它學致一些邊緣模糊,檢測出的邊緣往往移位。另外由於物理和光照等原因,實際影象的邊緣常常發生在不同的尺度範圍上,並且每一邊緣像元的尺度資訊是未知的,利用單一固定尺度的邊緣檢測運算元不可能同時最佳的檢測出這些邊緣。
(1)技術分類
在精度上分為畫素級和亞畫素級邊緣檢測技術,邊緣檢測技術主要解決三個問題:找出強度的非連續性,又要抑制細節和噪聲,同時還要儲存邊緣定位精度。
畫素級
基於區域性影象函式的方法
基於影象濾波的方法
基於全域性的邊緣檢測方法
亞畫素級
亞畫素邊緣檢測技術是一種新的高精度的影象邊緣處理與檢測技術,本質是透過軟體演算法來人為提高檢測系統的解析度。
基於矩的亞畫素邊緣檢測:利用矩的積分運算元來定位亞畫素邊緣,之所以選擇矩,是因為這種演算法對噪聲不敏感。
基於擬合(重建)的亞畫素邊緣檢測:透過擬合灰度值來獲得高精度邊緣位置
基於插值的亞畫素邊緣檢測:是對影象中的灰度值或者灰度梯度進行估計和插值來獲得亞畫素級邊緣。
(2)基於Zernike矩的邊緣檢測方法實現
https
:
//
mianbaoduo
。
com
/
o
/
bread
/
YpWXlJxu
(3)基於灰度矩的邊緣檢測方法
https
:
//
mianbaoduo
。
com
/
o
/
bread
/
YpWXlJxu
(3)基於高斯擬合
https
:
//
mianbaoduo
。
com
/
o
/
bread
/
YpWXlJxu
完整原始碼下載亞畫素邊緣檢測MATLAB多方案實現
邊緣檢測MATLAB能夠簡單實現,但是想要提取輪廓,並給不同的段繪製顏色,還需要Halcon。實現效果如下
Halcon實現完整程式碼和原圖PNG格式圖片都在同一個下載連結中
3。2 問題2 影象目標尺寸測量
是影象目標尺寸測量問題。思路是先在第一問的邊緣檢測的基礎上
Halcon實現步驟如下
第一步:
影象矯正
第二步:
影象亞畫素邊緣提取
第三步:
對提取的邊緣進行擬合
分別針對直線、圓形、橢圓進行擬合。
(1) 直線擬合
(2) 圓形擬合
(3) 橢圓擬合
第四步:
根據標定板和座標系來計算圓形和直線畫素點長度,並確定實際物理周長
【賽題A問題2-實驗圖、資料、數學模型、程式碼、數學模型、參考文獻】下載
3。3 問題3 亞畫素直線段、圓弧段、橢圓段分割
Halcon軟體實現
halcon 軟體實現流程圖
將題目給定的2個excel檔案讀入Halcon,並對這些離散的亞畫素座標進行擬合。得到輪廓資料Edges。
採用halcon中的運算元來進行輪廓的分割
採用segment_contours_xld函式將輪廓資料分割為直線、圓弧、橢圓弧
segment_contours_xld (SelectedContours, ContoursSplit, ‘lines_circles’, 5, 4, 3)
例如以上程式碼就實現了以線和圓作為分類切割
使用fit_line_circle_contour_xld函式來實現圓弧的擬合
使用gen_circle_contour_xld 來建立對應於圓或圓弧的XLD輪廓
*使用fit_line_contour_xld函式來實現直線的擬合
*使用fit_line_elipse_contour_xld函式來實現橢圓的擬合
具體實現參見程式碼
實現效果如下
【問題3-完整程式碼、實驗圖、論文、數學模型、參考文獻下載】下載連結
4 論文展示與下載
【論文下載連結】
上一篇:汽車科普之頭枕的作用
下一篇:軟文釋出推廣價格是多少呢?