Професионална програма
Loading...
+ Нов въпрос
StoyanPeev avatar StoyanPeev 6 Точки

Working with Images and Text QUIZ

Здравейте,

Имам въпрос относно тази задача на Quiz-а.

Morphology

2.0 points possible (graded)

Read the blue (third) channel of the hamburger image. Perform binary opening on this channel. You can use skimage. Use a 3x3 square as the structuring element.

This will return a boolean array which you can convert to numbers. Optionally, display the resulting image.

How many white pixels does the resulting image contain?

Не е оказано какъв да бъде трешхолда за бинарно разпределение на пикселите, а в зависимост от това зависи колко ще са белите пискели след като се направи опенинг. По подразбиране съм разделил хамбургера на 2 равни части, т.е. >= 128. Някой да каже дали пропускам нещо по условието?

Тагове:
0
Data Science
TeodorStefanovPld avatar TeodorStefanovPld 1276 Точки

не така е,Данчо ползва default настройките така че 128 е правилно 

0
magggie avatar magggie 19 Точки

@StoyanPeev,

аз това ползвах за binary opening - 

http://scikit-image.org/docs/dev/api/skimage.morphology.html#skimage.morphology.binary_opening

Поздрави,

magggie

 

0
nstoichkov avatar nstoichkov 1 Точки

Почти две години по късно тъкмо се чудех коя функция да ползвам :) благодаря за съвета 

Прддполагам това е правилния начин за  binary opening on this channel using a 3x3 square

from skimage.morphology import binary_opening
from skimage.morphology import square
blue_chanel_binary = binary_opening(image=burger_blue_channel, selem = square(3))

 

0
13/07/2020 17:55:38
nevelinapp avatar nevelinapp 0 Точки

Благодаря. как обаче накрая преброявате колко са белите пиксели в резултатното изображение?

Аз дотук, водейки се от лекцията съм написала това:

In: threshold = 128
In: is_smaller = blue <= threshold

In: is_smaller

Out:  array([[ True, True, True, ..., True, True, True], [ True, True, True, ..., True, True, True], [ True, True, True, ..., True, True, True], ..., [ True, True, True, ..., True, True, True], [ True, True, True, ..., True, True, True], [ True, True, True, ..., True, True, True]])

In: blue [is_smaller] = 0

In: blue [~is_smaller] = 1

In: blue

Out: array([[0, 0, 0, ..., 0, 0, 0], [0, 0, 0, ..., 0, 0, 0], [0, 0, 0, ..., 0, 0, 0], ..., [0, 0, 0, ..., 0, 0, 0], [0, 0, 0, ..., 0, 0, 0], [0, 0, 0, ..., 0, 0, 0]], dtype=uint8)

0
19/07/2020 23:34:35
nstoichkov avatar nstoichkov 1 Точки

Във върнатия от binary_opening речник True - са белите пиксели  False - са черните

unique, counts = np.unique(blue_chanel_binary, return_counts=True)
dict(zip(unique, counts))

По този начин виждам кои колко са 

0