| 簡短描述 | |
|---|---|
|
檔案: \examples\Processing\Geometry\ShearLine\LineShear_V02.va |
![]() |
|
預設平台: mE5-MA-VCL |
|
|
簡短說明 具有線性插值的線剪切範例。 |
|
在此範例(位於 \examples\Processing\Geometry\ShearLine\LineShear_V02.va)中,實作了針對線掃描相機的線剪切。 如果相機未沿著物件預期的掃描方向安裝,此設計可以補償掃描物件中產生的位移 (請參閱圖 328)。此處以整個影像寬度(在此為 1024 像素)中的 y 方向 10 像素線位移為例。
在圖 329 中,您可以看到基本設計結構: 來自相機運算子的 1D 影像之每個像素都會根據其在 HierarchicalBox LineShear 中的 x 座標在 y 方向進行剪切。單行會使用運算子 SplitImage:2DImage 組合成 2D 影像。校正後的影像 會透過運算子 DmaToPC 傳送至 PC。
在圖 330 中,您可以看到 HierarchicalBox LineShear 的內容。 此處會將每個像素的前面 N-1 個線鄰居(此處為 31)寫入 Nx1 核心中。
此欄的每個 8 位元像素會與其前一個鄰居(透過運算子 KernelRemap:ShiftedKernel 找到)合併 為一個 16 位元像素。因此,請參閱圖 331 中的 HierarchicalBox ExtractInteger 內容。在 HierarchicalBox Select 中(請參閱圖 332),每個像素的新像素值會 透過運算子 CASE 根據平移(校正)後的整數 y 位置來選取。
每個像素的校正 y 位置是在 HierarchicalBox TransformedYCoordinate 中計算(請參閱圖 329)。此方塊的內容顯示於圖 333 中。
透過運算子 Coordinate_X 可取得每個像素的 x 位置。對於負歪斜斜率,「反轉」x 位置的功能 存在(透過運算子 Const: NegativeSlope 與 IF 選取)。透過運算子 CONST: DeltaX 可定義相機的對準偏差:此常數決定在多少個像素之後執行 y 方向的一個像素平移。透過運算子 SelectBitField: Integer 與 SelectBitField: Fractional,可以分離每個像素之校正 y 座標的整數和小數部分。在此範例中,決定了 6 個小數 位元(請參閱運算子 ShiftLeft:Mult64)。每個 y 座標的小數部分對於在包含於方塊 ExtractFractional 中的 HierarchicalBox Interpolation(請參閱圖 330)中執行的線性插值是必要的。 您可以在範例中 HierarchicalBox Interpolation 的註解中找到關於插值演算法的詳細資訊。 在圖 334 中,您可以看到上述操作結果所產生的校正後影像。



上一頁

