Как измерить среднюю толщину размеченного сегментированного изображенияPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как измерить среднюю толщину размеченного сегментированного изображения

Сообщение Anonymous »

У меня есть изображение, и я выполнил некоторую предварительную обработку этого изображения. Ниже я показал свою предварительную обработку:

Код: Выделить всё

median=cv2.medianBlur(img,13)
ret, th = cv2.threshold(median, 0 , 255, cv2.THRESH_BINARY+cv2.THRESH_OTSU)
kernel=np.ones((3,15),np.uint8)
closing1 = cv2.morphologyEx(th, cv2.MORPH_CLOSE, kernel, iterations=2)
kernel=np.ones((1,31),np.uint8)
closing2 = cv2.morphologyEx(closing1, cv2.MORPH_CLOSE, kernel)

kernel=np.ones((1,13),np.uint8)
opening1= cv2.morphologyEx(closing2, cv2.MORPH_OPEN, kernel,  iterations=2)
Итак, в основном я использовал «Пороговую фильтрацию», «закрытие» и «открытие», и результат выглядит следующим образом:
Изображение

Обратите внимание, что когда я использовал type(opening1) , я получил numpy.ndarray. Таким образом, изображение на этом этапе представляет собой массив размером 1021 x 1024.
Затем я пометил свое изображение:

Код: Выделить всё

label_image=measure.label(opening1, connectivity=opening1.ndim)
props= measure.regionprops_table (label_image, properties=['label', "area", "coords"])
и результат выглядит следующим образом
[img]https://i.sstatic.net /sXmsn.jpg[/img]

Обратите внимание, что когда я использовал type(label_image), я получил numpy.ndarray. Таким образом, изображение на этом этапе представляет собой массив размером 1021 x 1024.
Как видите, в настоящее время изображение имеет 6 меток. Некоторые из этих ярлыков короткие и мелкие, поэтому я постарался оставить первые два ярлыка в зависимости от площади

Код: Выделить всё

slc=label_image
rps=regionprops(slc)
areas=[r.area for r in rps]

id=np.argsort(props["area"])[::-1]
new_slc=np.zeros_like(slc)

for i in id[:2]:
new_slc[tuple(rps[i].coords.T)]=i+1
Теперь результат выглядит так:
[img]https://i.sstatic. net/2998I.jpg[/img]

Похоже, мне удалось сохранить 2 верхних региона (обратите внимание, что, изменив id[:2], вы можете выбрать самый толстый белый цвет слой или тонкий слой). Сейчас:

Подробнее здесь: https://stackoverflow.com/questions/737 ... nted-image
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»