2016-03-24 22 views
0

Python'u kullanarak küçük resimleri grafiklerden kaldırmaya çalışıyorum. Örnek olarak, bir '+' ve '-' ifadesini ekleyerek grafik ekliyorum. Onları orada istemiyorum ama ellerinden geleni yapmak istemedikleri için el ile kaldırmak istemiyorum. Onları tespit etmek ve kaldırmak için herhangi bir kolay yolu?Görüntüden küçük ek açıklamaları kaldırma

Graph with annotations

+0

Resulting image evet okumak [sormak] ve öğrendiklerinizi uygulamak yolları İlk vardır. – Piglet

+0

Bunun daha önce cevaplandığını düşünüyor musunuz? Hiçbir şey bulamadım. Yoksa sorudaki problem mi? Herhangi bir kod eklememiş olmama rağmen bana açık görünüyor. – RichL

+0

Eh, birkaç Stackoverflow yönergesi alıntılayacağım: Ödev yardımını isteyen sorular, sorunu çözmek için şimdiye kadar yaptığınız çalışmaların özetini ve çözdüğünüz zorlukların bir açıklamasını içermelidir. ---- ...... Bunun yerine, sorunu ve sorunu çözmek için şimdiye kadar neler yapıldığını tarif edin. – Piglet

cevap

2

Ben el altında neredeyse hazır beri damla analizi kullanarak size bir çözüm sunacağız ancak üzerinde çok fazla zaman geçiremedik beri kendini okuma ve açıklama yapmanı rica ediyorum senin kendi kodu Belki de yine de yardımcı olur.

Ortaya resim:

import numpy as np 
import cv2 

imgray = cv2.imread('image.png') 


#### Blob analysis 
# SimpleBlobDetector will find black blobs on white surface 
ret,imthresh = cv2.threshold(imgray,160, 255,type=cv2.THRESH_BINARY) 

# Remove small breaks in lines 
kernel = np.ones((3,3),np.uint8) 
imthresh=cv2.erode(imthresh,kernel, iterations=1) 

# Setup SimpleBlobDetector parameters. 
params = cv2.SimpleBlobDetector_Params() 

# Filter by Area. 
params.filterByArea = True 
params.minArea = 0 
params.maxArea =350 

# Don't filter by Circularity 
params.filterByCircularity = False 

# Don't filter by Convexity 
params.filterByConvexity = False 

# Don't filter by Inertia 
params.filterByInertia = False 


# Create a detector with the parameters 
detector = cv2.SimpleBlobDetector_create(params) 

# Detect blobs. 
keypoints = detector.detect(imthresh) 

# Draw detected blobs as red circles. 
# cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS ensures 
# the size of the circle corresponds to the size of blob 
im_with_keypoints = cv2.drawKeypoints(imthresh, keypoints, np.array([]), (0,0,255), cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS) 

# Show blobs 
cv2.imshow("Keypoints", im_with_keypoints) 

cv2.imshow('threshold',imthresh) 

cv2.waitKey(0) 
cv2.destroyAllWindows()