Halcon中已知一條直線計算它的垂線與延長線

2021-09-26 06:01:49 字數 1479 閱讀 7161

gen_image_const (image, 'byte', 1000, 1000)

********************生成一條直線************************

row1:=100

col1:=500

row2:=500

col2:=100

gen_region_line (line, row1, col1, row2, col2)

*計算該直線的角度

line_orientation (row1, col1, row2, col2,phi)

*計算該直線的中點

rowm:=(row1+row2)/2

colm:=(col1+col2)/2

*********************生成垂線*************************

*垂線長度

linelength:=200(不精確)

*起點rowstart := rowm-cos(phi)*linelength

colstart := colm-sin(phi)*linelength

*終點rowend := rowm+cos(phi)*linelength

colend := colm+sin(phi)*linelength

gen_region_line (line1, rowstart, colstart, rowend, colend)

gen_image_const (image, 'byte', 1000, 1000)

********************生成一條直線************************

row1:=100

col1:=500

row2:=500

col2:=100

gen_region_line (line, row1, col1, row2, col2)

*獲取該直線的位置資訊

line_position (row1, col1, row2, col2, rowcenter, colcenter, length, phi)

*********************生成延長線***********************

*延長線長度(不精確)

linelength:=200

*起點rowstart := rowcenter-cos(phi+1.5708)*linelength

colstart := colcenter-sin(phi+1.5708)*linelength

*終點rowend := rowcenter-cos(phi-1.5708)*linelength

colend := colcenter-sin(phi-1.5708)*linelength

gen_region_line (line2, rowstart, colstart, rowend, colend)

halcon多條線合併為一條問題

如這樣的多條線合成一條線 通過斜率 垂直和平行不需要 來計算 x或y基本不變,通過求平均值得到一條線 選取最長得,注意判斷誤差,部分 在我得專案裡是可以得 去除誤差 kh1 0 for i 0 to lengths 1 by 1 k 0 for j 0 to lengths 1 by 1 if i ...

(DFB) 在螢幕中間畫一條直線

函式功能 在螢幕中間畫一條水平直線 include include include static idirectfb dfb null 這是最上層的介面所有函式的入口均由它進入 static idirectfbsu ce primary null 主平面,也就是螢幕了,在互動層使用dfscl ful...

cocos2d之教你畫一條直線

我們畫一條直線用到的是ccdrawline,如下 void mylinelayerbase initlayer void mylinelayerbase draw 注意幾點 這個是如果我再addchild的時候,設定zorder的為1時,會遮住直線,那麼我們改怎麼辦呢?有兩種辦法 1,講zorder...