• 沒有找到結果。

BMP 動態線追隨圖像化擴展 Window 追蹤系統 V10.0 架構介紹

系統簡介

BMP 動態線追隨圖像化擴展 Window 追蹤系統 V10.0(以下均簡稱本研究的系 統)為本研究之成果,結合 Baruch[3]與 Chouinard and Plamondon[4]內容論點,將細 線化的每一個步驟的Left Point、RightPoint、d 以及 Window 都利用 Microsoft Excel 2016 畫出來,並用不同顏色做區分,方便觀察細微的細線化執行結果,有利於後 續演算法的研究或是debug。本研究的系統的細線化演算法為線條的一開始的細線 化是採用Baruch[3],而在 LF-RD、LF-LD、LF-UD 與 LF-DD 的 4 種狀態之間轉換 的銜接技術則是採用Chouinard and Plamondon[4]所提及的 Contour Tracing 技術,

所以共有 5 種細線化模式。本研究的系統採用 2 個陣列,一個為正常細線化結果 使用,另一個則為存放原始圖案,用來給 Contour Tracing 所架構出的 Window 做 偵測分岔與分析銜接使用。

本研究的系統可以將一個 8bit 灰階的二值化(黑白)BMP 圖檔直接匯入,可自 行設定Threshold Value,black pixel 轉為 1,而 white pixel 轉為 0,也可以做反轉設 定,將black pixel 轉為 0,white pixel 轉為 1,並且可以自動修改所匯入的圖案內 容,如刪除雜訊,或是手動補點等等。所匯入的BMP 圖檔會在每個儲存格標示 1D Array 的索引值,方便查看。可在所設計的使用者界面設定 d 值,或是用快速鍵來 設定某個紋路一開始的初始Left Point 和 Right Point,方便在欲細線化的某個線段 上快速執行。獨創設計可以自行設定是否要倒退回1 或 2 個 Window 中心點。自 動將每個 Window 之間做 Connecting 的設計,並用不同顏色做標記。可設定每一 步細線化的延遲時間,並自動產生Window 的中心點且自動紀錄每個 Window 內所

包含的線段細線化的情況,方便查看研究。細線化完成後可將結果輸出成BMP 圖

檔。

系統畫面一覽

本研究的系統由多個工作表組成,均可在特定的工作表內執行細線化以及其 它功能,但其餘工作表皆為研究使用,如圖 4-1 所示。而上方所顯示的為操作面版 數值與所匯入的BMP 基本資訊(寬、高和位元深度),如圖 4-2 所示。

圖 4-1 本研究的系統一覽圖

圖 4-2 基本訊息顯示

功能介紹

本研究的系統共有七大功能特色,概述如下:

第一大功能、內建6 個快速鍵:內部搭載 6 個常用功能的快速鍵,如表 4-1 所

示。Ctrl+L 和 Ctrl+R 可在任意線段的某個 Pixel 設定成 Default Left Point 或是 Default Right Point,方便快速設定細線化的初始值。Ctrl+W 可以顯示 LF Setting Window,此 Window 為整個系統的控制核心面板,包括匯入圖檔、設定閥值 (Threshold)與執行細線化等按鈕。Ctrl+D 可以將 BMP 8bit 灰階圖檔匯入後再自行 針對任意的Pixel 點做增加或是刪除的動作。Ctrl+T 為設定 Pixel Connecting 的 P1 點(起始點);而 Ctrl+Y 為設定 Pixel Connecting 的 P2 點(終結點)。

第二大功能、匯入BMP 8bit 灰階圖檔:使用Ctrl+W 呼叫出 LF Setting Window,

如圖 4-3 所示。閥值預設為 127,可以透過 Set Threshold Value 欄位輸入所想要的

圖 4-3 LF Setting Window

圖 4-4 (a)Set Threshold Value 欄位;(b)Set 按鈕

圖 4-5 Load BMP File To Transfer …按鈕

圖 4-6 跳出視窗來選擇所要匯入的圖檔

圖 4-7 匯入 BMP 成功的訊息

圖 4-8 匯入後的兩個圖案

第三大功能、可設定black pixel 或 white pixel 轉成 1 或 0(空白):在通常情況 下會將black pixel 轉成 1(<=127 轉成 1),white pixel 轉成 0(>127 轉成 0),如圖 4-9 所示;也可以反過來,將black pixel 轉成 0(<127 轉成 0),white pixel 轉成 1(>=127 轉成1),如圖 4-10 所示。下面為使用一個範例圖案(圖 4-11)來做說明,如果為圖 4-9 的設定,則匯入後的結果為圖 4-12 所示;如果為圖 4-10 的設定,則匯入後的 結果為圖 4-13 所示。

圖 4-9 black pixel 轉成 1;white pixel 轉成 0 的設定

圖 4-10 black pixel 轉成 0;white pixel 轉成 1 的設定

圖 4-11 (a)一個 BMP 檔案大小為 28x20 的彎曲圖案;(b)將(a)的高和寬各放大 8 倍

圖 4-12 將圖案的 black pixel 轉成 1,white pixel 轉成 0

圖 4-13 將圖案的 black pixel 轉成 0,white pixel 轉成 1

第四大功能、可任意增加或是刪除所匯入後的MAP Pixel 座標:可以任意對左 邊的圖案內的Pixel 儲存格內做增加 1 或是刪除 1。如圖 4-14 所示,已經將(13,9)、

(13,8)、(13,7)、(13,6)、(13,5)和(13,4)6 個 Pixel 儲存格的 1 刪除。接下必須按 Ctrl+D 後會顯示訊息,如圖 4-15 所示。按下確定按鈕後,可以看見左邊和右邊的圖案已 經被自動修正完畢,如圖 4-16 所示。同理,也可以在(12,14)、(13,14)和(14,14)空 白的Pixel 儲存格內增加 1 後再按下 Ctrl+D 後,即自動修改完成,如圖 4-17 所示。

另外,也可按下Output Result 按鈕,將修改後的圖案直接輸出成為 BMP 8bit 灰階 圖片,如圖 4-18 所示。

圖 4-14 對左邊的圖案內的 Pixel 儲存格內做刪除 1

圖 4-15 修改左邊的圖案完成的訊息視窗

圖 4-16 左邊的圖案和右邊的圖案都已自動修改完成

圖 4-17 對左邊的圖案內的 Pixel 儲存格內做增加 1,並已自動修改完成

圖 4-18 刪除/增加後,並將寬和高各放大 8 倍的結果圖案

第五大功能、Contour Tracing的實驗操作(L/R):利用Excel 2016 VBA將 Pavlidis' algorithm 模擬出來。此實驗功能內建 2 隻瓢蟲:L 瓢蟲與 R 瓢蟲,對應的按鈕如 圖 4-19 所示。且 2 隻的起點都是固定由下往上進入座標點,所以放置 L 瓢蟲的起 點時須要找左邊的pixel 為white;放置R 瓢蟲的起點時須要找右邊的pixel 為white。

Contour Tracing L 瓢蟲實驗過程,如圖 4-20 所示;Contour Tracing R 瓢蟲實驗過 程,如圖 4-21 所示。

圖 4-19 (a)按鈕:L 瓢蟲;(b)按鈕:R 瓢蟲

圖 4-20 Contour Tracing L 瓢蟲實驗

圖 4-21 Contour Tracing R 瓢蟲實驗

第六大功能、執行細線化:可對線條做細線化實驗,將以 LF-RD、LF-LD、LF-DD 和 LF-UD,共 4 種 Line Following 方法來說明。LF-RD 和 LF-LD 使用一個大 小28x20 的 BMP 8bit 灰階圖檔,其圖案為一個大小 10x3 的水平線條做為模擬用,

如圖 4-22 和圖 4-23 所示;LF-DD 和 LF-UD 則使用一個大小 28x20 的 BMP 8bit 灰階圖檔,其圖案為一個大小3x13 的垂直線條做為模擬用,如圖 4-24 和圖 4-25

所示。操作與匯入BMP 圖檔的步驟如第二大功能所談,在此就不再贅述。

圖 4-22 (a)圖案為大小 10x3 的水平線條;(b)將(a)的高和寬各放大 8 倍

圖 4-23 大小 10x3 的水平線條 Map 與 1D Array 索引值的 Map

圖 4-24 (a)圖案為大小 3x13 的垂直線條;(b)將(a)的高和寬各放大 8 倍

圖 4-25 大小 3x13 的垂直線條 Map 與 1D Array 索引值的 Map

LF-RD 的細線化操作設定(d=2)與 Line Following 過程,如圖 4-26 和圖 4-27 所示:

圖 4-26 (a)Ctrl+L 設定(4,12)為 Default Left Point;(b)Ctrl+R 設定(4,10)為 Default Right Point;(c)選擇 LF => Right Direction;(d)按下 LF Start !!按鈕;(e)Window

Center 312;(f)Window Center 314

圖 4-27 (g)Window Center 316;(h)Window Center 318;(i)Window Center 320;

(j)LF-RD 完成

LF-LD 的細線化操作設定(d=2)與 Line Following 過程,如圖 4-28 和圖 4-29 所示:

圖 4-28 (a)Ctrl+L 設定(13,10)為 Default Left Point;(b)Ctrl+R 設定(13,12)為 Default Right Point;(c)選擇 LF => Left Direction;(d)按下 LF Start !!按鈕;

(e)Window Center 321;(f)Window Center 319

圖 4-29 (g)Window Center 317;(h)Window Center 315;(i)Window Center 313;

(j)LF-LD 完成

LF-DD 的細線化操作設定(d=2)與 Line Following 過程,如圖 4-30 和圖 4-31 所示:

圖 4-30 (a)Ctrl+L 設定(8,16)為 Default Left Point;(b)Ctrl+R 設定(6,16)為 Default Right Point;(c)選擇 LF => Down Direction;(d)按下 LF Start !!按鈕;(e)Window

Center 455;(f)Window Center 399

圖 4-31 (g)Window Center 343;(h)Window Center 287;(i)Window Center 231;

(j)Window Center 175;(k)Window Center 119;(l)LF-DD 完成

LF-UD 的細線化操作設定(d=2)與 Line Following 過程,如圖 4-32 和圖 4-33 所示:

圖 4-32 (a)Ctrl+L 設定(6,4)為 Default Left Point;(b)Ctrl+R 設定(8,4)為 Default Right Point;(c)選擇 LF => Up Direction;(d)按下 LF Start !!按鈕;(e)Window

Center 119;(f)Window Center 175

圖 4-33 (g)Window Center 231;(h)Window Center 287;(i)Window Center 343;

(j)Window Center 399;(k)Window Center 455;(l)LF-UD 完成

第七大功能、輸出結果:按下Ctrl+W 呼叫出 LF Setting Window,按下 Output Result 按鈕,如圖 4-34 所示,可以將目前的細線化結果或是目前的 01 圖案輸出成 BMP 8bit 灰階圖檔。圖檔輸出成功時會顯示訊息視窗,如圖 4-35 所示。

圖 4-34 Output Result 按鈕

圖 4-35 輸出圖檔成功訊息

圖 4-36 (a)水平線條原始圖;(b)為(a)的細線化圖;(c)將(a)的高和寬各放大 8 倍;

(d)將(b)的高和寬各放大 8 倍

圖 4-37 (a)垂直線條原始圖;(b)為(a)的細線化圖;(c)將(a)的高和寬各放大 8 倍;

(d)將(b)的高和寬各放大 8 倍

底下的表格為本研究的系統內各個顏色所對應的項目列表,如表 4-2 所示。

共分為兩大類,一類為Line Following 時的各參數所對應的顏色;另一類為 Contour Tracing 的相關設計項目所對應的顏色。其中的計算分支線數量的程式設計概念是

從流體中的渦流(Vortical flow)所發想出來的,並將其中的渦旋(Vortex)使用不同的 Right Side Course for CT-Window Edge 255 153 255 此渦流為逆時針旋轉設計,範例如圖 4-38 所示,在一個 10X6 的 CT-Window 的左邊界渦旋範圍由(0,1)、(0,2)、(0,3)、(0,4)以及(0,5)所構成;其下邊界渦旋範圍

由(0,0)、(1,0)、(2,0)、(3,0)、(4,0)、(5,0)、(6,0)、(7,0)以及(8,0)所構成;其右邊界渦 旋範圍由(9,0)、(9,1)、(9,2)、(9,3)以及(9,4)所構成;其上邊界渦旋範圍由(9,5)、(8,5)、

(7,5)、(6,5)、(5,5)、(4,5)、(3,5)、(2,5)以及(1,5)所構成。CT-Window 中 4 個渦旋內 的箭頭代表R 瓢蟲的頭所朝向的方向。左邊界渦旋範圍內的 R 瓢蟲的頭朝右,下 邊界渦旋範圍內的R 瓢蟲的頭朝上,左邊界渦旋範圍內的 R 瓢蟲的頭朝左,上邊 界渦旋範圍內的R 瓢蟲的頭朝下。

圖 4-38 CT-Window 逆時針渦流構造設計圖

相關文件