opening = cv2.morphologyEx(thresh,cv2.MORPH_CLOSE,kernel, iterations = 7)
#cv2.imshow("close", opening)
#cv2.imwrite("Tomato_close.jpg", opening)
opening1 = cv2.morphologyEx(opening,cv2.MORPH_OPEN,kernel, iterations = 11)
cv2.imshow("open1", opening1)
#cv2.imwrite("Tomato_open1.jpg", opening1)
kernel = cv2.getStructuringElement(cv2.MORPH_RECT,(3, 3))
sure_bg1 = cv2.dilate(opening1,kernel,iterations=12)
#cv2.imshow("sure_bg1",sure_bg1)
#cv2.imwrite("Tomato_bg1.jpg", sure_bg1)
kernel = cv2.getStructuringElement(cv2.MORPH_RECT,(7, 7))
opening2 = cv2.morphologyEx(sure_bg1,cv2.MORPH_OPEN,kernel, iterations = 10)
cv2.imshow("open2", opening2)
上一篇我們有講到初步建構的方式,今天這篇要告訴大家微調的方法。
上方程式碼,可以看到我使用了開運算以及閉運算,中間交錯很多次,原因是要調出對自己所辨識的物體最合適的參數,當然像我上篇說的,如果要做到高機率都可以成功,一定要套上訓練的效果,不然永遠都會有那幾張是不能辨識成功的。
我每一個階段會將 kernel 的數值轉換一次,一開始會以微小先做細微的運算,之後會將範圍擴大一次將侵蝕跟膨脹坐大,最後再以小的方式再慢慢做恢復,就能取得到比較好的影像。
其中的 cv2.MORPH_OPEN 與 CLOSE 我都有用到,後面的 iterations 也是有做了調整,經過不斷的檢視不斷的調整,而設定的參數。
在每一段寫出來的調整部分,我都寫出一段 cv.imshow 來呈現看結果,保險一點也可以寫 cv.imwrite 儲存來做參考,這樣可以加強你在辨識度的機會。
那先謝謝大家看完文章,本篇就是做微調的介紹。
不斷的磨練,讓自己的實力更加上升。