2017-10-06 54 views
0

我想查找牌照中的所有連接組件。首先,我對圖像進行閾值處理,然後在opencv中使用連接的組件函數標記二進制圖像,但未檢測到紅色區域中的字符和藍色區域中的數字10。我能做些什麼來檢測角色?在特殊盤中標記字符

車牌樣本:

enter image description here enter image description here

+0

圖像1中的字符B在紅色區域 – sina

回答

0

我敢打賭,你可能會也有問題,如果你想看看限圖像。

我假設你已經使用了一個閾值(也可能是灰度)。但是在這裏你有三種效果:圖像由幾個區域組成,顏色和影子。

你可能想看看Adaptive Thresholding,可能還跟着Grab-cut

+0

我使用自適應閾值製作五個不同的二值圖像但不工作 – sina

1

嘗試使用Niblack閾值。這是我得到的窗口大小= 5和k = 4.25 enter image description here

我將圖像轉換爲灰度,然後做Niblack閾值。這是一個Python代碼示例。 (代碼不包括連接成分分析和遮蔽,這是需要得到正確的輸出)

import cv2 
import numpy as np 
from skimage.filters import threshold_niblack 


image = cv2.imread('IRplate.jpg') 
B_Wimage = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) 


thresh = threshold_niblack(B_Wimage, window_size=5, k=4.25) 
ret,thresh = cv2.threshold(thresh,0,255,cv2.THRESH_BINARY_INV) 


cv2.imshow('A1',thresh) 
k = cv2.waitKey(0) 
cv2.destroyAllWindows() 

你將不得不做的閾值的圖像上的一些侵蝕/擴張和連接成分分析來獲得右邊的清潔結果。

希望這會有所幫助! :)