Как я могу использовать обнаружение Blob для изоляции области в изображении - PullRequest
0 голосов
/ 28 апреля 2020

Я хочу измерить площадь земли на изображении с высоты птичьего полета, поэтому мне посоветовали сначала использовать обнаружение капель, чтобы изолировать регион и пороговое изображение. Вот что я сделал, но я не уверен, что это правильно.

img = cv2.imread('landarea.jpg', cv2.IMREAD_COLOR)  
# Set up the detector with default parameters.  
detector = cv2.SimpleBlobDetector_create()  

# Detecting blobs.  
keypoints = detector.detect(img) 

# Draw detected blobs as red circles.  
# cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS ensures the size of the circle corresponds to the size 

im_with_keypoints = cv2.drawKeypoints(img, keypoints, np.array([]), (0, 0, 
                                                   255),cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)  
# Show keypoints  
print(im_with_keypoints.size)

# plt.show()
cv2.imshow("Blob",im_with_keypoints )
cv2.waitKey(0)
cv2.destroyAllWindows()
 # Convert to gray
gray = cv2.cvtColor(im_with_keypoints, cv2.COLOR_BGR2GRAY)
#Threshold the image
ret3,th3 = cv2.threshold(gray,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)

titles = ["Otsu's Thresholding"]
images = [th3]

plt.figure(figsize=(15, 10))
for i in range(1):
    plt.subplot(1,1,i+1), plt.imshow(images[i], 'gray')
    plt.title(titles[i])
    plt.xticks([]), plt.yticks([])

plt.show()

Изображение Ссылка

В итоге это то, что я пытаюсь достичь

Задача: Измерение площади земли:

В настоящее время я работаю над получением Измерения площади, ширины и высоты земли из аэрофотоснимков. Шаги, предпринятые для достижения этой цели, перечислены ниже:

  1. Я посоветовал лучше написать код Python с нуля, чтобы выполнить обработку изображений.

  2. Также от SO я посоветовал использовать детектор BLOB-объектов, чтобы изолировать регионы, портировать мое изображение и подсчитать количество белых пикселей. Затем я могу откалибровать размеры изображения с истинными размерами. Я был в состоянии обнаружить капли, пороговое изображение, и я также смог получить количество белых пикселей. Моя главная задача состоит в двух последних шагах и в том, как получить измерение из этих шагов. Также друг сказал, что обычно любая фотография может иметь форму квадрата, прямоугольника и т. Д. c. Таким образом, область может не измениться, если я измерю площадь с помощью фотографий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...