我們機(jī)器視覺項(xiàng)目的程序包含,業(yè)務(wù)邏輯+圖像處理,所以我們不單單調(diào)試圖像處理部分,還要調(diào)試C#,界面,數(shù)據(jù)等等。我們必須保證程序穩(wěn)定性,還要保證視覺檢測的穩(wěn)定性。
據(jù)說,有個機(jī)器視覺工程師因?yàn)楝F(xiàn)場客戶把光源拆了,讓他來現(xiàn)場重新調(diào)整光源位置,這位機(jī)器視覺工程師第二天就不來公司了,沒有走任何辭職流程,果斷收拾走人。
某天領(lǐng)導(dǎo)說,這個視覺檢測簡單,早點(diǎn)搞完。過了一段時間,你在調(diào)試,領(lǐng)導(dǎo)來一句,怎么還在調(diào)試。-摘錄大多數(shù)不懂裝懂,沒事裝逼類型領(lǐng)導(dǎo)語錄。
兄弟們,有沒有為自己拼過命,萬萬沒想到為了幾個像素波動拼過命,連續(xù)調(diào)試五個小時沒有穩(wěn)定下來,吃完夜宵,再看,像素波動穩(wěn)定了。第二天跑起來一點(diǎn)問題沒有。萬萬沒想到第三天,不穩(wěn)定了,原因是客戶把照明燈關(guān)掉了。
機(jī)器視覺工程師在機(jī)器調(diào)試過程中毀滅自我,拉扯自我,撕裂自我,重塑自我,否定自我,肯定自我,重啟自我
在我看來,這些是造成 bug 的原因,不是造成大部分時間在 debug 的主要原因。
大部分 debug 時間應(yīng)該是花在 bug 復(fù)現(xiàn) 和 bug 定位,所以你可能可以寫出不用 debug 的程序,但是不可能不需要測試,而且我覺得在寫程序自己測試的那段時間不叫 debug ,通常一邊寫代碼一邊測試那段時間所發(fā)現(xiàn)的 bug 都可以迅速找到的,并且可以及時處理解決掉,甚至解決不了,也要去避免這種類型的bug。
那么程序debug原因有哪些?
0.每種編程語言自身都有bug,當(dāng)你感覺對的時候,編程語言的體系根本不允許這樣子去實(shí)現(xiàn),你要在他規(guī)則下去寫程序,但是它的這個規(guī)則往往就是最大的bug,規(guī)則本身就紊亂,所以編程者理解它規(guī)則的同時,還要去按照這個規(guī)則走下去,那么走下去的流程,每個人都不一樣,因?yàn)槊恳粋€人理解的都不一樣。
1.邏輯性錯誤,從一些小代碼片段來說你可能沒有問題。那么,經(jīng)過一百個亂七八糟的跳轉(zhuǎn)之后,你還能看出錯誤來么?暈了,找啊找,找了半天,定位到bug,各種方法嘗試修改。
2.代碼健壯度,同上,你不可能考慮到所有狀況,因?yàn)楹芏酄顩r出現(xiàn)的問題都不嚴(yán)重,無非是重試或者警告,那么有些狀況在必須處理的前提下,你也是同樣容易被忽略的。并不是說沒有人愿意寫出超級健壯的代碼,而是,想那么多有什么用呢,萬一不出錯呢?
3.編寫效率,你是在debug 的時候發(fā)現(xiàn)錯誤的概率高,還是在自己腦子里發(fā)現(xiàn)錯誤的效率高。大部分人都是前者,如果你在腦子里就發(fā)現(xiàn)了錯誤,也就輪不到Debug時候發(fā)現(xiàn)了,所以一般人的做法是,寫完再說。
4.其實(shí)我并不知道這么寫是為什么,但是我覺得這么寫就是對的。這種,要么真對了,要么錯的一塌糊涂,但是你不能說這是蒙的,至于對不對,debug會告訴你真相。
5.我們腦子里并沒有計(jì)算機(jī),所以你永遠(yuǎn)不知道結(jié)果。
圖像處理debug的原因有哪些?
機(jī)器視覺需要反復(fù)調(diào)試的原因有以下幾點(diǎn):
圖像集的質(zhì)量不同,需要針對不同的圖像集進(jìn)行調(diào)試;
算法的參數(shù)設(shè)置不同,需要不斷調(diào)整參數(shù)以達(dá)到最優(yōu)效果;
硬件設(shè)備的差異,需要根據(jù)不同的硬件設(shè)備進(jìn)行適配;
環(huán)境的變化,比如光照、角度等因素會影響機(jī)器視覺的效果,需要進(jìn)行相應(yīng)的調(diào)整。
因此,機(jī)器視覺需要反復(fù)調(diào)試才能達(dá)到最佳效果。
編輯:黃飛
-
圖像處理
+關(guān)注
關(guān)注
29文章
1341瀏覽量
59372 -
機(jī)器視覺
+關(guān)注
關(guān)注
164文章
4785瀏覽量
125707 -
編程語言
+關(guān)注
關(guān)注
10文章
1963瀏覽量
39389
原文標(biāo)題:機(jī)器視覺工程師為什么要反復(fù)調(diào)試?
文章出處:【微信號:機(jī)器視覺沙龍,微信公眾號:機(jī)器視覺沙龍】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
開發(fā)版中iic通訊例程為什么通過反復(fù)調(diào)用單字節(jié)數(shù)據(jù)讀寫子程序完成
機(jī)器視覺的發(fā)展怎么樣?
深圳四元數(shù)機(jī)器視覺系統(tǒng)廠家:選擇機(jī)器視覺光源需要衡量的因素
河源機(jī)器視覺系統(tǒng)可以做什么?
機(jī)器視覺是什么意思_機(jī)器視覺應(yīng)用案例
機(jī)器視覺自學(xué)需要學(xué)什么_學(xué)機(jī)器視覺好找工作嗎
好得機(jī)器視覺檢測需要從什么方面選擇
機(jī)器視覺需要哪些基礎(chǔ)_機(jī)器視覺行業(yè)發(fā)展前景
西門子S7-200|星三角降壓啟動的子程序如何實(shí)現(xiàn)反復(fù)調(diào)用
工業(yè)機(jī)器人歷史沿革 工業(yè)機(jī)器人的工作原理
機(jī)器視覺工程師反復(fù)調(diào)試的原因是什么?
機(jī)器視覺為什么需要反復(fù)調(diào)試?
評論