2017-09-17 3 views
2

Y at-il un moyen de seuil seulement si la taille de la tâche est supérieure à (height,width)?taille de blob minimum pour le seuil opencv en python

Exemple

import cv2 

img_1 = cv2.imread('my_image_1.jpg') 
thresh = cv2.threshold(img_1, 200, 255, cv2.THRESH_BINARY)[1] 

Aux fins de seuillage, je veux ignorer tous les pixels qui ne sont pas dans un blob de dire, 6 x 6 pixels qui répondent également à la condition de seuillage.

Quelle est la meilleure façon de procéder?

Répondre

3

Veuillez vérifier this tutorial. Vous pouvez mettre en œuvre en ajoutant les lignes suivantes à votre code,

params = cv2.SimpleBlobDetector_Params() 

params.filterByArea = True 
params.minArea = 20 #define minimum area 

ver = (cv2.__version__).split('.') 

if int(ver[0]) < 3 : 
    detector = cv2.SimpleBlobDetector(params) 
else : 
    detector = cv2.SimpleBlobDetector_create(params) 

keypoints = detector.detect(thresh) 

im_with_keypoints = cv2.drawKeypoints(thresh, keypoints, np.array([]), (0,0,255), cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS) 
+0

Bien que ce lien peut répondre à la question, le lien réponses seulement sont découragés sur Stack Overflow, vous pouvez améliorer cette réponse en prenant les parties vitales du lien le mettre dans votre réponse, cela s'assure que votre réponse est toujours une réponse si le lien est changé ou enlevé :) – WhatsThePoint

+3

Désolé. Je ne savais pas. Je suis nouveau ici. Je vais essayer d'améliorer la réponse avec des parties du code. Merci beaucoup! – Rayees