Софтуерно Инженерство
Loading...
+ Нов въпрос
magggie avatar magggie 19 Точки

LAB - WORKING WITH IMAGES AND TEXT - 2. Convert the images to grayscale

Здравейте,

някой може ли да ми посочи къде ми е грешката в кода за точка 2.

Това ми е кода, който очевидно не е верен защото не дава точка:

def convert_to_grayscale(image):
    R = (image[:, :, 0])
    G = (image[:, :, 1])
    B = (image[:, :, 2])
    grayImage = (R.astype("uint64") + G.astype("uint64") + B.astype("uint64"))/3
    grayImage = grayImage.astype("uint8")
    return grayImage

 

Сега опитвам със следното:

def convert_to_grayscale(image):
    """
    Converts the specified RGB image to grayscale, averaging over
    the red, green, and blue channels
    """
    grayscale_mean = np.mean(image, axis=2)
    grayscale_mean = grayscale_mean.astype("uint8")
    return grayscale_mean

Но тъй като това дава абсолютно същия резултат като горното нямам голяма надежда че ще мине frown

Дали трябва да му направя презен shape и после да го assign-на ? Вече нямам идеи и ако някой може да помогне ще съм страшно благодарна.

Много благодаря!

magggie

 

Тагове:
0
Data Science
TeodorStefanovPld avatar TeodorStefanovPld 948 Точки
Best Answer

    R = image[:, :, 0]/3
    G = image[:, :, 1]/3
    B = image[:, :, 2]/3
    grayImage = np.round(R+ G. + B).astype(uint8)

   return grayImage

1
magggie avatar magggie 19 Точки

Много благодаря! laugh

0
StanDimitroff avatar StanDimitroff 90 Точки

Четете по-добре условията.

 Also note that each number is rounded to the nearest integer.

Example: If an RGB pixel is (120, 35, 52), the grayscale pixel will be 120+24+833=75,66667=76.

 

Удари едно закръгляне  на 

grayscale_mean = np.mean(image, axis=2)

и си готова.

1
magggie avatar magggie 19 Точки

Много благодаря!!! 

Супер сте. 

Аз това изречение го приемах като нещо, което ще се случи от самосебе си. Ама явно нищо не се случва от самосебе си в тия домашни.

0
TeodorStefanovPld avatar TeodorStefanovPld 948 Точки

това гърми още първия път пробвах това :Д и после се наложи да го сменя

0