**********************************blon分析方法進行顏色識別********
dev_close_window ()
read_image (image, 'cable2')
get_image_size (image, width, height)
dev_open_window (0, 0, width, height, 'black', windowhandle)
dev_display (image)
**顏色空間變換--rgbtohsv
decompose3 (image, image1, image2, image3)
trans_from_rgb (image1, image2, image3, hue, saturation, indesity, 'hsv')
**利用飽和度分量影象來進行二值化處理
threshold (saturation, region, 68, 152)
**利用hsv的色排程分量中不同顏色對應的灰度值範圍
reduce_domain (hue, region, imagereduced)
**青色的色排程分量對應的灰度值範圍100--125
threshold (imagereduced, regions, 100, 125)
**形狀選擇:選擇最大的region
connection (regions, connectedregions)
select_shape_std (connectedregions, selectedregions, 'max_area', 0)
**形態學處理優化影象形狀
closing_circle (selectedregions, regions, 2)
**獲得並顯示青色的排線
reduce_domain (image, regions, imagereduced1)
dev_display (imagereduced)
dev_display (imagereduced1)
執行結果如下所示:
這個程式主要是利用blob分析來分割物體,然後利用hsv顏色空間的hue分量(色排程)中,不同的顏色對應不同的灰度值。程式中黃色分量的灰度值範圍是20-45,我們利用20-45來識別影象中的黃色物體。青色的灰度值範圍是100-125。
和之前做的車牌識別一樣,blob分析有乙個特點就是對光照和背景的要求比較高。一旦環境發生變化,就會影響到影象處理的結果。所以,基於機器學習的影象處理是必然的趨勢。
程式練習題 2
考慮如下的序列生成演算法 從整數 n 開始,如果 n 是偶數,把它除以 2 如果 n 是奇數,把它乘 3 加1。用新得到的值重複上述步驟,直到 n 1 時停止。例如,n 22 時該演算法生成的序列是 22,11,34,17,52,26,13,40,20,10,5,16,8,4,2,1。人們猜想 沒有...
matlab練習程式(Bug2演算法)
bug演算法是一種避障演算法,思路就是想象從起始點有乙隻小蟲,不停延直線靠近目標,如果遇見障礙物,則沿著障礙物邊界移動,繞過障礙物後繼續沿直線靠近目標。從上面說的思想就可以認為該演算法由兩種路徑組成,一種直線路徑,一種障礙物環繞路徑。直線路徑可以認為是起點到終點的線段,不過該線段要去除掉和障礙物相交...
一些程式段分析 2
程式段3 以下 編譯時會產生錯誤的是哪條語句?include using namespace std struct foo foo int void fun int main void 分析 呼叫無參建構函式即編譯器預設生成的建構函式時,直接定義乙個物件,不能在後面加乙個括號,否則就為函式的定義,會...