• Home
  • Chat IA
  • Guru IA
  • Tutores
  • Central de ajuda
Home
Chat IA
Guru IA
Tutores

·

Engenharia Elétrica ·

Algoritmos e Programação de Computadores

· 2022/2

Envie sua pergunta para a IA e receba a resposta na hora

Recomendado para você

Slide - Aula 3 Comandos Adicionais - Algoritmos e Programação de Computadores 2022-2

60

Slide - Aula 3 Comandos Adicionais - Algoritmos e Programação de Computadores 2022-2

Algoritmos e Programação de Computadores

UNICAMP

Laboratório 6 - Torre de Panquecas - Algoritmos e Programação de Computadores 2022 2

2

Laboratório 6 - Torre de Panquecas - Algoritmos e Programação de Computadores 2022 2

Algoritmos e Programação de Computadores

UNICAMP

Laboratório 5 - Jornada de Trabalho - Algoritmos e Programação de Computadores 2022 2

4

Laboratório 5 - Jornada de Trabalho - Algoritmos e Programação de Computadores 2022 2

Algoritmos e Programação de Computadores

UNICAMP

Laboratório 2 - Rumo a Marte - Algoritmos e Programação de Computadores 2022 2

3

Laboratório 2 - Rumo a Marte - Algoritmos e Programação de Computadores 2022 2

Algoritmos e Programação de Computadores

UNICAMP

Laboratório 15 - Caça Palavras - Algoritmos e Programação de Computadores 2022 2

3

Laboratório 15 - Caça Palavras - Algoritmos e Programação de Computadores 2022 2

Algoritmos e Programação de Computadores

UNICAMP

Laboratório 11 - Encaixe 2d - Algoritmos e Programação de Computadores 2022 2

5

Laboratório 11 - Encaixe 2d - Algoritmos e Programação de Computadores 2022 2

Algoritmos e Programação de Computadores

UNICAMP

Slide - Aula 2 Python Básico - Algoritmos e Programação de Computadores 2022-2

95

Slide - Aula 2 Python Básico - Algoritmos e Programação de Computadores 2022-2

Algoritmos e Programação de Computadores

UNICAMP

Laboratório 6 - Torre de Panquecas - Algoritmos e Programação de Computadores 2022 2

2

Laboratório 6 - Torre de Panquecas - Algoritmos e Programação de Computadores 2022 2

Algoritmos e Programação de Computadores

UNICAMP

Laboratório 10 - Caça ao Tesouro - Algoritmos e Programação de Computadores 2022 2

4

Laboratório 10 - Caça ao Tesouro - Algoritmos e Programação de Computadores 2022 2

Algoritmos e Programação de Computadores

UNICAMP

Laboratório 4 - Controle de Estoque - Algoritmos e Programação de Computadores 2022 2

3

Laboratório 4 - Controle de Estoque - Algoritmos e Programação de Computadores 2022 2

Algoritmos e Programação de Computadores

UNICAMP

Texto de pré-visualização

24/11/2022 14:31 Laboratório 12 https://susy.ic.unicamp.br:9999/mc102/12/enunciado.html 1/7 Redimensionamento de Imagens Uma imagem digital é a projeção de uma matriz, que representa a imagem, em uma tela. Cada posição (x,y) da matriz, onde x é o número da linha e y é o número da coluna, representa um pixel (picture element) p(x,y) . O valor de p(x,y) indica a cor que deve ser projetada na posição correspondente da imagem. O pixel no canto superior esquerdo da imagem é o p(1,1) e o pixel no canto inferior direito da imagem é o p(n,m) , para uma imagem com n linhas e m colunas. Nas imagens em tons de cinza PGM (Portable Graymap Format), esse valor descreve a intensidade do ponto projetado que varia de 0 (preto) a 255 (branco). As coordenadas da matriz seguem a ordem raster (de cima para baixo, da esquerda para direita). Abaixo temos um exemplo do conteúdo de um arquivo PGM. P2 24 7 255 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 51 51 51 51 0 0 51 51 51 51 0 0 119 119 119 119 0 0 119 119 119 119 0 0 51 0 0 0 0 0 51 0 0 0 0 0 119 0 0 0 0 0 119 0 0 119 0 0 51 51 51 0 0 0 51 51 51 0 0 0 119 119 119 0 0 0 119 119 119 119 0 0 51 0 0 0 0 0 51 0 0 0 0 0 119 0 0 0 0 0 119 0 0 0 0 0 51 0 0 0 0 0 51 51 51 51 0 0 119 119 119 119 0 0 119 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 O cabeçalho do arquivo é formado pelas três primeiras linhas, sendo que a primeira linha possui o valor P2 , o qual indica o formato do arquivo; a segunda linha possui dois valores inteiros m e n que representam o número de colunas e linhas, respectivamente; e a terceira linha possui o valor máximo que um pixel pode assumir, no nosso caso, esse valor sempre será 255 . Depois do cabeçalho, o arquivo possui n linhas, onde cada linha possui m valores inteiros separados por um espaço em branco. Cada um desses valores representa um pixel da imagem em escala de cinza. Uma imagem no formato PGM pode ser visualizada utilizando este site. Programas de edição e processamento de imagens possuem diversos operações para manipulação de imagens, neste laboratório você deve implementar a operação de redimensionamento de imagens. O redimensionamento pode ser de dois tipos que são descritos a seguir. 24/11/2022 14:31 Laboratorio 12 Expansao Neste tipo de redimensionamento, 0 seu programa deve transformar uma imagem A detamanho nx m emumaimagem B detamanho (2n - 1)x(2m - 1) .Acriagao daimagem B é feita de acordo com os seguintes passos, nesta ordem: e Passo 1: paratodo 1 <= i <= n @ 1 <= j <= m, oO pixel p(i,j) sera colocado como o pixel p(i',j') de B, onde i' = i*2 - 1 e j' = j*2 - 1; e Passo 2: cada pixel p(i',j') de B,talque i' €impare j' éparé preenchido com a média dos valores p(i',j'-1) € p(i',j'+1); e Passo 3: cada pixel p(i',j') de B,talque i' @pare j' éimparé preenchido com a média dos valores p(i'-1,j') € p(i'+1,j'); e Passo 4: cada pixel p(i',j') de B,talque i' @pare j' éparé preenchido com a média dos valores p(i'-1,j'-1), p(i'-1,j'+1) , p(i'+1,j'-1) @ p(i'+1,j'+1) ; Um exemplo é apresentado na figura abaixo. Imagem Original Passo 1 Passo 2 Passo 3 Passo 4 10 20 30 10 20 30 10 18 20 25 30 10 15 20 25 30 10 15 20 25 30 40 0 60 25358 25 30 36 40 45 70 80 90 40 8060 40 45 50 55 60 40 45 50 55 60 40 45 50 55 60 55 65 75 55 60 65 70 75 70 80 90 70 75 80 85 90 70 75 80 85 90 70 75 80 85 90 Os valores acima descrevem a intensidade dos pontos a serem projetados. Abaixo temos as figuras correspondentes de cada passo. 123 12345 12345 12345 12345 ru: = 4 2 2x xX x xX Xx 2x xX x xX Xx A E 2 3 ns 7 3 3 4X X X X X 4X X X X X ai x ex 4 ‘ix 7 TT 5 5 X indica um pixel a ser preenchido Retragao Neste tipo de redimensionamento, 0 seu programa deve transformar uma imagem A detamanho n x m numaimagem B detamanho teto(n/2) x teto(m/2) , onde teto(x/2) = x/2 se x for pare teto(x/2) = (x+1)/2 se x for impar. Nesta operacgdo de retragdo a imagem é dividida em submatrizes de tamanho 2x2. Cada submatriz m da imagem original corresponde a um pixel da imagem resultante, sendo que esse pixel é igual a média dos valores dos pixels da submatriz m.No caso de imagens com numero impar de linhas, para a ultima linha, vocé deve considerar uma matriz 2x1 para aplicar a operagdo. No caso de imagens com numero impar de colunas, para a ultima coluna, vocé deve considerar uma matriz 1x2 para aplicar a operagao. E em imagens com numero https://susy.ic.unicamp.br:9999/mc102/12/enunciado.html 2/7 24/11/2022 14:31 Laboratorio 12 impar de linhas e colunas, o pixel do canto inferior direito deve ser apenas repetido na imagem resultante. A seguir exemplificamos essa operagdo. Cada submatriz da imagem original é indicada por um quadrado de borda azul. Imagem Original Retracgao 10 20) 30 40 40 60 75 60 7O) 80 90 140 160 175 110 120) 130 140) 150 215 235 250 160 170) 180 190) 200 210 220) 230 240 Os valores acima descrevem a intensidade dos pontos a serem projetados. Abaixo temos as figuras correspondentes. 12 3 4 5 1 2 3 1 1 2 2 3 3 4 5 Observacao: A fungdo de impressdo da imagem disponibilizada no codigo base converte valores decimais em inteiros para a impressdao da imagem. Sendo assim, por exemplo, um pixel de valor 27.5 sera transformado em 27. Entrada O seu programa recebera como entrada as seguintes linhas (em ordem): uma linha contendo o valor pP2 , que indica o formato do arquivo e deve ser desconsiderada; uma linha contendo dois numeros m e n, que indicam o numero de colunas e linhas, respectivamente; uma linha que contém o valor maximo que um pixel pode assumir (no nosso caso, esse valor sempre sera 255 ); n linhas que possuem m valores inteiros separados por espacos, representando os valores de cada pixel da imagem em escala de cinza, na ordem raster (de cima para baixo, da esquerda para direita); uma linha com o tipo de redimensionamento a ser implementado: expansao OU retracao. https://susy.ic.unicamp.br:9999/mc102/12/enunciado.html 3/7 24/11/2022 14:31 Laboratorio 12 Exceto pela linha que descreve a operacao a ser aplicada, a entrada constitui uma imagem no formato PGM. Saida A saida devera ser impressa no formato PGM, contendo a imagem resultante da aplicagdo da operagao. As primeiras trés linhas representam o cabegalho da imagem gerada: a primeira linha devera conter apenas a string P2, que indica o formato do arquivo; a segunda linha contera dois numeros inteiros indicando o numero de colunas e o numero de linhas da imagem, respectivamente; ea terceira linha indicara 0 valor maximo que um pixel da imagem pode conter (que sempre sera 255 ). As linhas seguintes deverdo conter os valores (numeros inteiros) dos pixels resultantes da aplicagdo da operacgao, esses valores sdo separados por um unico caractere em branco. Vocé pode visualizar as imagens no formato PGM usando este site. Para entender o efeito de cada operagao, visualize todas imagens dos casos de testes abertos, tanto as imagens de entrada (arquivos *.in), quanto as de saidas (arquivos *.out). Codigo Base No arquivo auxiliar lab12.py vocé ira encontrar um cddigo base para dar inicio ao processo de elaboragdo deste laboratorio. Para facilitar a implementagdo do seu programa, no cddigo base existem os cabecalhos das fungdes correspondentes a cada operacdao. Cada fungao desempenha uma tarefa bastante especifica. Usando essas fungées é possivel obter uma solugdo para o problema. Os cabecalhos das fungdes a serem implementadas sdo apresentados a seguir. def expansao(imagem_original): def retracao(imagem_original): Exemplos de entradas e saidas esperadas pelo seu programa: Teste 01 Entrada P2 55 https://susy.ic.unicamp.br:9999/mc102/12/enunciado.html 4/7 24/11/2022 14:31 Laboratório 12 https://susy.ic.unicamp.br:9999/mc102/12/enunciado.html 5/7 255 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 210 220 230 240 250 retracao Saída P2 3 3 255 40 60 75 140 160 175 215 235 250 Teste 03 Entrada P2 24 7 255 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 30 30 30 30 0 0 30 30 30 30 0 0 100 100 100 100 0 0 180 180 180 180 0 0 30 0 0 0 0 0 30 0 0 0 0 0 100 0 0 0 0 0 180 0 0 180 0 0 30 30 30 0 0 0 30 30 30 0 0 0 100 100 100 0 0 0 180 180 180 180 0 0 30 0 0 0 0 0 30 0 0 0 0 0 100 0 0 0 0 0 180 0 0 0 0 0 30 0 0 0 0 0 30 30 30 30 0 0 100 100 100 100 0 0 180 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 expansao Saída P2 47 13 255 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 0 0 0 0 0 7 15 15 15 15 15 15 15 7 0 0 0 7 15 15 15 15 15 15 15 7 0 0 0 25 50 50 50 50 5 0 15 30 30 30 30 30 30 30 15 0 0 0 15 30 30 30 30 30 30 30 15 0 0 0 50 100 100 1 0 15 30 22 15 15 15 15 15 7 0 0 0 15 30 22 15 15 15 15 15 7 0 0 0 50 100 75 50 5 0 15 30 15 0 0 0 0 0 0 0 0 0 15 30 15 0 0 0 0 0 0 0 0 0 50 100 50 0 0 0 0 0 0 0 0 15 30 22 15 15 15 7 0 0 0 0 0 15 30 22 15 15 15 7 0 0 0 0 0 50 100 75 50 50 50 0 15 30 30 30 30 30 15 0 0 0 0 0 15 30 30 30 30 30 15 0 0 0 0 0 50 100 100 100 1 0 15 30 22 15 15 15 7 0 0 0 0 0 15 30 22 15 15 15 7 0 0 0 0 0 50 100 75 50 50 50 0 15 30 15 0 0 0 0 0 0 0 0 0 15 30 15 0 0 0 0 0 0 0 0 0 50 100 50 0 0 0 0 0 0 0 0 15 30 15 0 0 0 0 0 0 0 0 0 15 30 22 15 15 15 15 15 7 0 0 0 50 100 75 50 50 50 24/11/2022 14:31 Laboratório 12 https://susy.ic.unicamp.br:9999/mc102/12/enunciado.html 6/7 0 15 30 15 0 0 0 0 0 0 0 0 0 15 30 30 30 30 30 30 30 15 0 0 0 50 100 100 100 100 0 7 15 7 0 0 0 0 0 0 0 0 0 7 15 15 15 15 15 15 15 7 0 0 0 25 50 50 50 50 50 50 5 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 0 0 0 0 Teste 06 Entrada P2 24 6 255 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 80 80 80 80 0 0 80 80 80 80 0 0 130 130 130 130 0 0 180 180 180 180 0 0 80 0 0 0 0 0 80 0 0 0 0 0 130 0 0 0 0 0 180 0 0 180 0 0 80 80 80 0 0 0 80 80 80 0 0 0 130 130 130 0 0 0 180 180 180 180 0 0 80 0 0 0 0 0 80 0 0 0 0 0 130 0 0 0 0 0 180 0 0 0 0 0 80 0 0 0 0 0 80 80 80 80 0 0 130 130 130 130 0 0 180 0 0 0 0 expansao Saída P2 47 11 255 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 0 0 0 0 0 20 40 40 40 40 40 40 40 20 0 0 0 20 40 40 40 40 40 40 40 20 0 0 0 32 65 65 65 0 40 80 80 80 80 80 80 80 40 0 0 0 40 80 80 80 80 80 80 80 40 0 0 0 65 130 130 1 0 40 80 60 40 40 40 40 40 20 0 0 0 40 80 60 40 40 40 40 40 20 0 0 0 65 130 97 65 0 40 80 40 0 0 0 0 0 0 0 0 0 40 80 40 0 0 0 0 0 0 0 0 0 65 130 65 0 0 0 0 0 0 0 0 40 80 60 40 40 40 20 0 0 0 0 0 40 80 60 40 40 40 20 0 0 0 0 0 65 130 97 65 65 0 40 80 80 80 80 80 40 0 0 0 0 0 40 80 80 80 80 80 40 0 0 0 0 0 65 130 130 130 1 0 40 80 60 40 40 40 20 0 0 0 0 0 40 80 60 40 40 40 20 0 0 0 0 0 65 130 97 65 65 0 40 80 40 0 0 0 0 0 0 0 0 0 40 80 40 0 0 0 0 0 0 0 0 0 65 130 65 0 0 0 0 0 0 0 0 40 80 40 0 0 0 0 0 0 0 0 0 40 80 60 40 40 40 40 40 20 0 0 0 65 130 97 65 65 65 0 40 80 40 0 0 0 0 0 0 0 0 0 40 80 80 80 80 80 80 80 40 0 0 0 65 130 130 130 130 Teste 08 Entrada P2 25 7 255 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 80 80 80 80 0 0 80 80 80 80 0 0 130 130 130 130 0 0 180 180 180 180 0 0 24/11/2022 14:31 Laboratorio 12 028000000 80200000 13000000 18000 18000 @ 80 82 82 8 @ O 80 80 80 @ O @ 130 130 130 8 @ O 180 180 180 180 8 @ 0280020000 80200000 1302000001800008 © 80 2 8 @ O @ 80 80 8@ 80 O O 130 130 130 130 8 8 1809000080 020200000000000000000000008 expansao Saida P2 49 13 255 COKOHAOHOHAOHOHOHOHBAHOHBHAHHOHHBHBHAHHAHBHAHBAH88H8808 @ 20 40 40 40 40 4@ 40 40 20 © @ © 20 40 40 40 40 40 40 40 20 © © @ 32 65 65 65 @ 40 80 80 80 80 80 80 80 40 © O O 40 80 80 80 80 80 80 80 40 @ O @ 65 130 130 J @ 40 80 60 40 40 40 40 40 20 © @ @ 40 80 60 40 40 40 40 40 20 @ © @ 65 130 97 6 @ 40 80 40000000020 O 40 80 4000000000 28 65 13060000008 @ 40 80 60 40 40 40 20 8 © @ @ @ 40 80 60 40 40 40 20 8 © OO @ 65 130 97 65 65 @ 40 80 80 80 80 80 40 0 2 OO O 40 80 80 80 80 80 40 OO OO @ 65 130 130 130 J @ 40 80 60 40 40 40 20 8 © @ @ @ 40 80 60 40 40 40 20 8 © OO @ 65 130 97 65 65 @ 40 80 40000000020 O 40 80 4000000000 28 65 13060000008 2 40 80 4000000200 2 @ 40 80 60 40 40 40 40 40 20 © © © 65 130 97 65 65 6 2 40 80 4000000200 2 @ 40 80 80 80 80 80 80 80 40 8 @ O 65 130 130 130 13¢ @ 20 40 200000000 2 @ 20 40 40 40 40 40 40 40 20 © © © 32 65 65 65 65 65 COKOHAOHOHAOHOHOHOHBAHOHBHAHHOHHBHBHAHHAHBHAHBAH88H8808 > Orientacgoes e Veja aqui a pagina de submissdo da tarefa. e O arquivo a ser submetido deve se chamar lab12.py. e No link "Arquivos auxiliares" ha um arquivo compactado (aux12.zip) que contém todos os arquivos de testes abertos (entradas e saidas esperadas). e O laboratorio é composto de 10 testes abertos e 10 testes fechados. e Olimite maximo sera de 20 submiss6es. e Acesse 0 sistema SuSy com seu RA (apenas numeros) e a senha que vocé utiliza para fazer acesso ao sistema da DAC. e Vocé deve seguir as instrucgdes de submissao descritas no enunciado. e Serdo considerados apenas os resultados da ultima submissdo. e Esta tarefa tem peso 3. e Oprazo final para submissdo é dia 27/11/2022 (domingo). https://susy.ic.unicamp.br:9999/mc102/12/enunciado.html T/T

Envie sua pergunta para a IA e receba a resposta na hora

Recomendado para você

Slide - Aula 3 Comandos Adicionais - Algoritmos e Programação de Computadores 2022-2

60

Slide - Aula 3 Comandos Adicionais - Algoritmos e Programação de Computadores 2022-2

Algoritmos e Programação de Computadores

UNICAMP

Laboratório 6 - Torre de Panquecas - Algoritmos e Programação de Computadores 2022 2

2

Laboratório 6 - Torre de Panquecas - Algoritmos e Programação de Computadores 2022 2

Algoritmos e Programação de Computadores

UNICAMP

Laboratório 5 - Jornada de Trabalho - Algoritmos e Programação de Computadores 2022 2

4

Laboratório 5 - Jornada de Trabalho - Algoritmos e Programação de Computadores 2022 2

Algoritmos e Programação de Computadores

UNICAMP

Laboratório 2 - Rumo a Marte - Algoritmos e Programação de Computadores 2022 2

3

Laboratório 2 - Rumo a Marte - Algoritmos e Programação de Computadores 2022 2

Algoritmos e Programação de Computadores

UNICAMP

Laboratório 15 - Caça Palavras - Algoritmos e Programação de Computadores 2022 2

3

Laboratório 15 - Caça Palavras - Algoritmos e Programação de Computadores 2022 2

Algoritmos e Programação de Computadores

UNICAMP

Laboratório 11 - Encaixe 2d - Algoritmos e Programação de Computadores 2022 2

5

Laboratório 11 - Encaixe 2d - Algoritmos e Programação de Computadores 2022 2

Algoritmos e Programação de Computadores

UNICAMP

Slide - Aula 2 Python Básico - Algoritmos e Programação de Computadores 2022-2

95

Slide - Aula 2 Python Básico - Algoritmos e Programação de Computadores 2022-2

Algoritmos e Programação de Computadores

UNICAMP

Laboratório 6 - Torre de Panquecas - Algoritmos e Programação de Computadores 2022 2

2

Laboratório 6 - Torre de Panquecas - Algoritmos e Programação de Computadores 2022 2

Algoritmos e Programação de Computadores

UNICAMP

Laboratório 10 - Caça ao Tesouro - Algoritmos e Programação de Computadores 2022 2

4

Laboratório 10 - Caça ao Tesouro - Algoritmos e Programação de Computadores 2022 2

Algoritmos e Programação de Computadores

UNICAMP

Laboratório 4 - Controle de Estoque - Algoritmos e Programação de Computadores 2022 2

3

Laboratório 4 - Controle de Estoque - Algoritmos e Programação de Computadores 2022 2

Algoritmos e Programação de Computadores

UNICAMP

Texto de pré-visualização

24/11/2022 14:31 Laboratório 12 https://susy.ic.unicamp.br:9999/mc102/12/enunciado.html 1/7 Redimensionamento de Imagens Uma imagem digital é a projeção de uma matriz, que representa a imagem, em uma tela. Cada posição (x,y) da matriz, onde x é o número da linha e y é o número da coluna, representa um pixel (picture element) p(x,y) . O valor de p(x,y) indica a cor que deve ser projetada na posição correspondente da imagem. O pixel no canto superior esquerdo da imagem é o p(1,1) e o pixel no canto inferior direito da imagem é o p(n,m) , para uma imagem com n linhas e m colunas. Nas imagens em tons de cinza PGM (Portable Graymap Format), esse valor descreve a intensidade do ponto projetado que varia de 0 (preto) a 255 (branco). As coordenadas da matriz seguem a ordem raster (de cima para baixo, da esquerda para direita). Abaixo temos um exemplo do conteúdo de um arquivo PGM. P2 24 7 255 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 51 51 51 51 0 0 51 51 51 51 0 0 119 119 119 119 0 0 119 119 119 119 0 0 51 0 0 0 0 0 51 0 0 0 0 0 119 0 0 0 0 0 119 0 0 119 0 0 51 51 51 0 0 0 51 51 51 0 0 0 119 119 119 0 0 0 119 119 119 119 0 0 51 0 0 0 0 0 51 0 0 0 0 0 119 0 0 0 0 0 119 0 0 0 0 0 51 0 0 0 0 0 51 51 51 51 0 0 119 119 119 119 0 0 119 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 O cabeçalho do arquivo é formado pelas três primeiras linhas, sendo que a primeira linha possui o valor P2 , o qual indica o formato do arquivo; a segunda linha possui dois valores inteiros m e n que representam o número de colunas e linhas, respectivamente; e a terceira linha possui o valor máximo que um pixel pode assumir, no nosso caso, esse valor sempre será 255 . Depois do cabeçalho, o arquivo possui n linhas, onde cada linha possui m valores inteiros separados por um espaço em branco. Cada um desses valores representa um pixel da imagem em escala de cinza. Uma imagem no formato PGM pode ser visualizada utilizando este site. Programas de edição e processamento de imagens possuem diversos operações para manipulação de imagens, neste laboratório você deve implementar a operação de redimensionamento de imagens. O redimensionamento pode ser de dois tipos que são descritos a seguir. 24/11/2022 14:31 Laboratorio 12 Expansao Neste tipo de redimensionamento, 0 seu programa deve transformar uma imagem A detamanho nx m emumaimagem B detamanho (2n - 1)x(2m - 1) .Acriagao daimagem B é feita de acordo com os seguintes passos, nesta ordem: e Passo 1: paratodo 1 <= i <= n @ 1 <= j <= m, oO pixel p(i,j) sera colocado como o pixel p(i',j') de B, onde i' = i*2 - 1 e j' = j*2 - 1; e Passo 2: cada pixel p(i',j') de B,talque i' €impare j' éparé preenchido com a média dos valores p(i',j'-1) € p(i',j'+1); e Passo 3: cada pixel p(i',j') de B,talque i' @pare j' éimparé preenchido com a média dos valores p(i'-1,j') € p(i'+1,j'); e Passo 4: cada pixel p(i',j') de B,talque i' @pare j' éparé preenchido com a média dos valores p(i'-1,j'-1), p(i'-1,j'+1) , p(i'+1,j'-1) @ p(i'+1,j'+1) ; Um exemplo é apresentado na figura abaixo. Imagem Original Passo 1 Passo 2 Passo 3 Passo 4 10 20 30 10 20 30 10 18 20 25 30 10 15 20 25 30 10 15 20 25 30 40 0 60 25358 25 30 36 40 45 70 80 90 40 8060 40 45 50 55 60 40 45 50 55 60 40 45 50 55 60 55 65 75 55 60 65 70 75 70 80 90 70 75 80 85 90 70 75 80 85 90 70 75 80 85 90 Os valores acima descrevem a intensidade dos pontos a serem projetados. Abaixo temos as figuras correspondentes de cada passo. 123 12345 12345 12345 12345 ru: = 4 2 2x xX x xX Xx 2x xX x xX Xx A E 2 3 ns 7 3 3 4X X X X X 4X X X X X ai x ex 4 ‘ix 7 TT 5 5 X indica um pixel a ser preenchido Retragao Neste tipo de redimensionamento, 0 seu programa deve transformar uma imagem A detamanho n x m numaimagem B detamanho teto(n/2) x teto(m/2) , onde teto(x/2) = x/2 se x for pare teto(x/2) = (x+1)/2 se x for impar. Nesta operacgdo de retragdo a imagem é dividida em submatrizes de tamanho 2x2. Cada submatriz m da imagem original corresponde a um pixel da imagem resultante, sendo que esse pixel é igual a média dos valores dos pixels da submatriz m.No caso de imagens com numero impar de linhas, para a ultima linha, vocé deve considerar uma matriz 2x1 para aplicar a operagdo. No caso de imagens com numero impar de colunas, para a ultima coluna, vocé deve considerar uma matriz 1x2 para aplicar a operagao. E em imagens com numero https://susy.ic.unicamp.br:9999/mc102/12/enunciado.html 2/7 24/11/2022 14:31 Laboratorio 12 impar de linhas e colunas, o pixel do canto inferior direito deve ser apenas repetido na imagem resultante. A seguir exemplificamos essa operagdo. Cada submatriz da imagem original é indicada por um quadrado de borda azul. Imagem Original Retracgao 10 20) 30 40 40 60 75 60 7O) 80 90 140 160 175 110 120) 130 140) 150 215 235 250 160 170) 180 190) 200 210 220) 230 240 Os valores acima descrevem a intensidade dos pontos a serem projetados. Abaixo temos as figuras correspondentes. 12 3 4 5 1 2 3 1 1 2 2 3 3 4 5 Observacao: A fungdo de impressdo da imagem disponibilizada no codigo base converte valores decimais em inteiros para a impressdao da imagem. Sendo assim, por exemplo, um pixel de valor 27.5 sera transformado em 27. Entrada O seu programa recebera como entrada as seguintes linhas (em ordem): uma linha contendo o valor pP2 , que indica o formato do arquivo e deve ser desconsiderada; uma linha contendo dois numeros m e n, que indicam o numero de colunas e linhas, respectivamente; uma linha que contém o valor maximo que um pixel pode assumir (no nosso caso, esse valor sempre sera 255 ); n linhas que possuem m valores inteiros separados por espacos, representando os valores de cada pixel da imagem em escala de cinza, na ordem raster (de cima para baixo, da esquerda para direita); uma linha com o tipo de redimensionamento a ser implementado: expansao OU retracao. https://susy.ic.unicamp.br:9999/mc102/12/enunciado.html 3/7 24/11/2022 14:31 Laboratorio 12 Exceto pela linha que descreve a operacao a ser aplicada, a entrada constitui uma imagem no formato PGM. Saida A saida devera ser impressa no formato PGM, contendo a imagem resultante da aplicagdo da operagao. As primeiras trés linhas representam o cabegalho da imagem gerada: a primeira linha devera conter apenas a string P2, que indica o formato do arquivo; a segunda linha contera dois numeros inteiros indicando o numero de colunas e o numero de linhas da imagem, respectivamente; ea terceira linha indicara 0 valor maximo que um pixel da imagem pode conter (que sempre sera 255 ). As linhas seguintes deverdo conter os valores (numeros inteiros) dos pixels resultantes da aplicagdo da operacgao, esses valores sdo separados por um unico caractere em branco. Vocé pode visualizar as imagens no formato PGM usando este site. Para entender o efeito de cada operagao, visualize todas imagens dos casos de testes abertos, tanto as imagens de entrada (arquivos *.in), quanto as de saidas (arquivos *.out). Codigo Base No arquivo auxiliar lab12.py vocé ira encontrar um cddigo base para dar inicio ao processo de elaboragdo deste laboratorio. Para facilitar a implementagdo do seu programa, no cddigo base existem os cabecalhos das fungdes correspondentes a cada operacdao. Cada fungao desempenha uma tarefa bastante especifica. Usando essas fungées é possivel obter uma solugdo para o problema. Os cabecalhos das fungdes a serem implementadas sdo apresentados a seguir. def expansao(imagem_original): def retracao(imagem_original): Exemplos de entradas e saidas esperadas pelo seu programa: Teste 01 Entrada P2 55 https://susy.ic.unicamp.br:9999/mc102/12/enunciado.html 4/7 24/11/2022 14:31 Laboratório 12 https://susy.ic.unicamp.br:9999/mc102/12/enunciado.html 5/7 255 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 210 220 230 240 250 retracao Saída P2 3 3 255 40 60 75 140 160 175 215 235 250 Teste 03 Entrada P2 24 7 255 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 30 30 30 30 0 0 30 30 30 30 0 0 100 100 100 100 0 0 180 180 180 180 0 0 30 0 0 0 0 0 30 0 0 0 0 0 100 0 0 0 0 0 180 0 0 180 0 0 30 30 30 0 0 0 30 30 30 0 0 0 100 100 100 0 0 0 180 180 180 180 0 0 30 0 0 0 0 0 30 0 0 0 0 0 100 0 0 0 0 0 180 0 0 0 0 0 30 0 0 0 0 0 30 30 30 30 0 0 100 100 100 100 0 0 180 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 expansao Saída P2 47 13 255 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 0 0 0 0 0 7 15 15 15 15 15 15 15 7 0 0 0 7 15 15 15 15 15 15 15 7 0 0 0 25 50 50 50 50 5 0 15 30 30 30 30 30 30 30 15 0 0 0 15 30 30 30 30 30 30 30 15 0 0 0 50 100 100 1 0 15 30 22 15 15 15 15 15 7 0 0 0 15 30 22 15 15 15 15 15 7 0 0 0 50 100 75 50 5 0 15 30 15 0 0 0 0 0 0 0 0 0 15 30 15 0 0 0 0 0 0 0 0 0 50 100 50 0 0 0 0 0 0 0 0 15 30 22 15 15 15 7 0 0 0 0 0 15 30 22 15 15 15 7 0 0 0 0 0 50 100 75 50 50 50 0 15 30 30 30 30 30 15 0 0 0 0 0 15 30 30 30 30 30 15 0 0 0 0 0 50 100 100 100 1 0 15 30 22 15 15 15 7 0 0 0 0 0 15 30 22 15 15 15 7 0 0 0 0 0 50 100 75 50 50 50 0 15 30 15 0 0 0 0 0 0 0 0 0 15 30 15 0 0 0 0 0 0 0 0 0 50 100 50 0 0 0 0 0 0 0 0 15 30 15 0 0 0 0 0 0 0 0 0 15 30 22 15 15 15 15 15 7 0 0 0 50 100 75 50 50 50 24/11/2022 14:31 Laboratório 12 https://susy.ic.unicamp.br:9999/mc102/12/enunciado.html 6/7 0 15 30 15 0 0 0 0 0 0 0 0 0 15 30 30 30 30 30 30 30 15 0 0 0 50 100 100 100 100 0 7 15 7 0 0 0 0 0 0 0 0 0 7 15 15 15 15 15 15 15 7 0 0 0 25 50 50 50 50 50 50 5 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 0 0 0 0 Teste 06 Entrada P2 24 6 255 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 80 80 80 80 0 0 80 80 80 80 0 0 130 130 130 130 0 0 180 180 180 180 0 0 80 0 0 0 0 0 80 0 0 0 0 0 130 0 0 0 0 0 180 0 0 180 0 0 80 80 80 0 0 0 80 80 80 0 0 0 130 130 130 0 0 0 180 180 180 180 0 0 80 0 0 0 0 0 80 0 0 0 0 0 130 0 0 0 0 0 180 0 0 0 0 0 80 0 0 0 0 0 80 80 80 80 0 0 130 130 130 130 0 0 180 0 0 0 0 expansao Saída P2 47 11 255 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 0 0 0 0 0 20 40 40 40 40 40 40 40 20 0 0 0 20 40 40 40 40 40 40 40 20 0 0 0 32 65 65 65 0 40 80 80 80 80 80 80 80 40 0 0 0 40 80 80 80 80 80 80 80 40 0 0 0 65 130 130 1 0 40 80 60 40 40 40 40 40 20 0 0 0 40 80 60 40 40 40 40 40 20 0 0 0 65 130 97 65 0 40 80 40 0 0 0 0 0 0 0 0 0 40 80 40 0 0 0 0 0 0 0 0 0 65 130 65 0 0 0 0 0 0 0 0 40 80 60 40 40 40 20 0 0 0 0 0 40 80 60 40 40 40 20 0 0 0 0 0 65 130 97 65 65 0 40 80 80 80 80 80 40 0 0 0 0 0 40 80 80 80 80 80 40 0 0 0 0 0 65 130 130 130 1 0 40 80 60 40 40 40 20 0 0 0 0 0 40 80 60 40 40 40 20 0 0 0 0 0 65 130 97 65 65 0 40 80 40 0 0 0 0 0 0 0 0 0 40 80 40 0 0 0 0 0 0 0 0 0 65 130 65 0 0 0 0 0 0 0 0 40 80 40 0 0 0 0 0 0 0 0 0 40 80 60 40 40 40 40 40 20 0 0 0 65 130 97 65 65 65 0 40 80 40 0 0 0 0 0 0 0 0 0 40 80 80 80 80 80 80 80 40 0 0 0 65 130 130 130 130 Teste 08 Entrada P2 25 7 255 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 80 80 80 80 0 0 80 80 80 80 0 0 130 130 130 130 0 0 180 180 180 180 0 0 24/11/2022 14:31 Laboratorio 12 028000000 80200000 13000000 18000 18000 @ 80 82 82 8 @ O 80 80 80 @ O @ 130 130 130 8 @ O 180 180 180 180 8 @ 0280020000 80200000 1302000001800008 © 80 2 8 @ O @ 80 80 8@ 80 O O 130 130 130 130 8 8 1809000080 020200000000000000000000008 expansao Saida P2 49 13 255 COKOHAOHOHAOHOHOHOHBAHOHBHAHHOHHBHBHAHHAHBHAHBAH88H8808 @ 20 40 40 40 40 4@ 40 40 20 © @ © 20 40 40 40 40 40 40 40 20 © © @ 32 65 65 65 @ 40 80 80 80 80 80 80 80 40 © O O 40 80 80 80 80 80 80 80 40 @ O @ 65 130 130 J @ 40 80 60 40 40 40 40 40 20 © @ @ 40 80 60 40 40 40 40 40 20 @ © @ 65 130 97 6 @ 40 80 40000000020 O 40 80 4000000000 28 65 13060000008 @ 40 80 60 40 40 40 20 8 © @ @ @ 40 80 60 40 40 40 20 8 © OO @ 65 130 97 65 65 @ 40 80 80 80 80 80 40 0 2 OO O 40 80 80 80 80 80 40 OO OO @ 65 130 130 130 J @ 40 80 60 40 40 40 20 8 © @ @ @ 40 80 60 40 40 40 20 8 © OO @ 65 130 97 65 65 @ 40 80 40000000020 O 40 80 4000000000 28 65 13060000008 2 40 80 4000000200 2 @ 40 80 60 40 40 40 40 40 20 © © © 65 130 97 65 65 6 2 40 80 4000000200 2 @ 40 80 80 80 80 80 80 80 40 8 @ O 65 130 130 130 13¢ @ 20 40 200000000 2 @ 20 40 40 40 40 40 40 40 20 © © © 32 65 65 65 65 65 COKOHAOHOHAOHOHOHOHBAHOHBHAHHOHHBHBHAHHAHBHAHBAH88H8808 > Orientacgoes e Veja aqui a pagina de submissdo da tarefa. e O arquivo a ser submetido deve se chamar lab12.py. e No link "Arquivos auxiliares" ha um arquivo compactado (aux12.zip) que contém todos os arquivos de testes abertos (entradas e saidas esperadas). e O laboratorio é composto de 10 testes abertos e 10 testes fechados. e Olimite maximo sera de 20 submiss6es. e Acesse 0 sistema SuSy com seu RA (apenas numeros) e a senha que vocé utiliza para fazer acesso ao sistema da DAC. e Vocé deve seguir as instrucgdes de submissao descritas no enunciado. e Serdo considerados apenas os resultados da ultima submissdo. e Esta tarefa tem peso 3. e Oprazo final para submissdo é dia 27/11/2022 (domingo). https://susy.ic.unicamp.br:9999/mc102/12/enunciado.html T/T

Sua Nova Sala de Aula

Sua Nova Sala de Aula

Empresa

Central de ajuda Contato Blog

Legal

Termos de uso Política de privacidade Política de cookies Código de honra

Baixe o app

4,8
(35.000 avaliações)
© 2025 Meu Guru®