Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

Notice Board

Per partecipare al corso di Fondamenti di programmazione 2023-24 loggatevi e attivatelo nella vostra pagina dei corsi preferiti. A quel punto il corso appare nel menù personale cliccando sul proprio avatar. Per i materiali degli anni precedenti seguite lo stesso metodo.

To join the Programming/Lab 2023-24 course, log-on and select it on the my courses page. It will appear on the personal menu of your avatar. For earlier years use the same method.

Home Work 6: errore di un'unità sul blu nell' elaborazione della compressione

fvitaterna (340 points)
5 10 12
in HW6 obbligatorio by (340 points)
recategorized by
Salve a tutti.

Come si vede dal log riportato, ho un errore di un'unità sul blu dei primi 4 pixel nella figura compressa. Di fatto la differenza tra l'immagine prodotta e quella da produrre è quasi impercettibile, ma ovviamente l'algoritmo non supera i test.

A qualcuno è capitato? Qualche consiglio?

========================================================================================================= short test summary info ==========================================================================================================
FAILED test_01.py::Test::test_data_01___circle____5__5__27__28__ - AssertionError: Tuples differ: (0, 0, 10) != (0, 0, 11)
FAILED test_01.py::Test::test_data_02___5_squares____5__5__44__44__ - AssertionError: Tuples differ: (0, 0, 20) != (0, 0, 21)
FAILED test_01.py::Test::test_data_03___6_rectangles____100__50__350__300__ - AssertionError: Tuples differ: (0, 0, 200) != (0, 0, 201)
FAILED test_01.py::Test::test_data_04___random_5____46__162__726__1062__ - AssertionError: Tuples differ: (0, 1, 15) != (0, 1, 16)
FAILED test_01.py::Test::test_data_05___random_10____175__89__780__2815__ - AssertionError: Tuples differ: (0, 0, 221) != (0, 0, 222)
288 views

3 Answers

twgever (17470 points)
8 29 105
by (17.5k points)
perchè infatti sbagli altezze e larghezze. immagino tu le calcolerai facendo xmax-xmin del rettangolo. Ma devi fare xmax-xmin+1

Infatti se fai caso hai il primo pixel del lato superiore alla x 1 e l'ultimo alla x 10. se fai 10-1 ottieni 9. ma la larghezza non misura 9, bensì 10. Infatti abbiamo:

1  2  3  4  5  6  7  8  9  10

sono 10 pixel

Lo stesso discorso vale per l'altezza
f
fabio.chiarini (2280 points)
0 0 7
by (2.3k points)
Ciao, a me era successa una cosa simile, in base a come hai impostato il tuo codice secondo me quell'errore può dipendere da:

1) Il modo in cui calcoli i valori di h e w. Se lo fai per differenza tra 2 vertici ricordati che devi aggiungere un +1.

2) Per qualche motivo sbagli a prendere i valori x e y dei vertici, può succedere quando ad esempio un vertice ha un lato di un altro rettangolo adiacente.

Prova a controllare queste due casistiche, spero tu riesca a risolvere.
9
9Andrea9 (12340 points)
12 32 56
by (12.3k points)
devi semplicemente aggiungere 1 alla fine quando misuri altezza e larghezza, questo perché tu fai una semplice sottrazione, ad'esempio:

20-10=10

dove 20 è l'angolo in alto a destra e 10 l'angolo in alto a sinistra, così facendo non conti un pixel ovvero il numero 10 .