Álgebra matricial e suas aplicações em imagens digitais utilizando GNU Octave Jonas Mateus Bettiol 2025 Universidade Estadual Paulista “Júlio de Mesquita Filho” Instituto de Geociências e Ciências Exatas Câmpus de Rio Claro Álgebra matricial e suas aplicações em imagens digitais utilizando GNU Octave Jonas Mateus Bettiol Dissertação de Mestrado apresentada ao Instituto de Geociências e Ciências Exatas do Câmpus de Rio Claro, da Universidade Estadual Paulista “Júlio de Mesquita Filho”, como parte dos requisitos para obtenção do tí- tulo de Mestre em Matemática. Orientador Prof. Dr. Wladimir Seixas Rio Claro/SP 2025 B565a Bettiol, Jonas Mateus Álgebra matricial e suas aplicações em imagens digitais utilizando GNU Octave / Jonas Mateus Bettiol. -- Rio Claro, 2025 115 p. : il. Dissertação (mestrado profissional) - Universidade Estadual Paulista (UNESP), Instituto de Geociências e Ciências Exatas, Rio Claro Orientador: Wladimir Seixas 1. Álgebra Matricial. 2. Imagem Digital. 3. Métodos Matemáticos. I. Título. Sistema de geração automática de fichas catalográficas da Unesp. Dados fornecidos pelo autor(a). Impacto potencial desta pesquisa O estudo explora aplicações da álgebra matricial na manipulação de imagens digitais, mostrando como esses conceitos se aplicam a problemas reais. O uso do GNU Octave auxilia no entendimento dos fundamentos matemáticos da álgebra linear por meio da experimentação. Potential impact of this research The study explores applications of matrix algebra in digital image manipulation, showing how these concepts are applied to real-world problems. The use of GNU Octave helps in understanding the mathematical foundations of linear algebra through experi- mentation. Universidade Estadual Paulista “Júlio de Mesquita Filho” Instituto de Geociências e Ciências Exatas Câmpus de Rio Claro Jonas Mateus Bettiol Álgebra matricial e suas aplicações em imagens digitais utilizando GNU Octave Dissertação de Mestrado apresentada ao Instituto de Geociências e Ciências Exatas do Câmpus de Rio Claro, da Universidade Estadual Paulista “Júlio de Mesquita Filho”, como parte dos requisitos para ob- tenção do título de Mestre em Matemática. Comissão Examinadora Prof. Dr. Wladimir Seixas Orientador Prof. Dr. Pedro Tavares Paes Lopes ICMC/USP / São Carlos (SP) Prof. Dr. Luciano Aparecido Magrini IFSP / São Paulo (SP) Conceito: Aprovado Rio Claro (SP), 8 de janeiro de 2025 Ao meu amado filho Pietro Arruda Bettiol Agradecimentos Ninguém cresce sozinho. Primeiramente, agradeço a Deus, pois, sem Ele, nada disso seria possível. Agradeço também às professoras Marta e Elíris, que acreditaram em mim e me ajudaram a ingressar no programa de mestrado. Por fim, agradeço ao meu orientador, Wladimir, pela dedicação e paciência ao longo de todo o processo. “No que diz respeito ao empenho, ao compromisso, ao esforço e à dedicação, não existe meio termo” Ayrton Senna Resumo Este estudo investiga a conexão entre a álgebra linear e a manipulação de imagens, explo- rando como os princípios matemáticos fundamentais possuem aplicações práticas relevan- tes. Iniciamos com o contexto histórico, destacando o progresso na captura de imagens, desde seus estágios iniciais até sua importância atual. Em seguida, discutem-se alguns métodos de coleta de imagens, bem como sua conversão para o formato digital. A repre- sentação matricial pode ser obtida por meio da captura de imagens, onde cada elemento em linhas e colunas equivale a um pixel, e cada número distinto indica uma cor distinta. Assim, as relações entre os pixels possibilitam a execução de operações básicas entre matrizes, como adição, subtração e multiplicação. Também será abordada a utilização de transformações lineares representadas por matrizes, que são empregadas para tarefas como refletir, distorcer e girar imagens. Além disso, o estudo investiga a decomposição em valores singulares (SVD) como uma técnica eficaz de redução de imagens. Essa meto- dologia permite diminuir a complexidade da matriz que representa a imagem, dividindo-a em três outras matrizes, o que possibilita a eliminação de componentes irrelevantes e a redução do espaço de armazenamento, sem prejudicar a qualidade visual. A técnica é frequentemente utilizada em sistemas que necessitam de economia de recursos computa- cionais. A implementação no GNU Octave ilustra de maneira prática a teoria discutida. Palavras-chave: Álgebra Matricial. Imagem Digital. Métodos Matemáticos. Abstract This study investigates the connection between linear algebra and image manipulation, exploring how fundamental mathematical principles have relevant practical applications. We begin with the historical context, highlighting the progress in image capture, from its early stages to its current importance. Next, some image collection methods are discussed, as well as their conversion to digital format. The matrix representation can be obtained through image capture, where each element in rows and columns corresponds to a pixel, and each distinct number indicates a distinct color. Thus, the relationships between pixels enable the execution of basic operations between matrices, such as addition, subtraction, and multiplication. The use of linear transformations represented by matrices will also be addressed, as they are employed for tasks such as reflecting, distorting, and rotating images. Additionally, the study investigates Singular Value Decomposition (SVD) as an effective image reduction technique. This methodology allows the complexity of the matrix representing the image to be reduced by decomposing it into three other matrices, which enables the elimination of irrelevant components and reduces storage space without compromising visual quality. The technique is frequently used in systems that require computational resource optimization. The implementation in GNU Octave practically illustrates the theory discussed. Keywords: Matrix Algebra. Digital Image. Mathematical Methods. Lista de Figuras 1 A primeira imagem digital criada em 1957 por Russel Kirsch. . . . . . . . . 19 2 Composição da imagem tridimensional em um tomógrafo. . . . . . . . . . . 20 3 Paciente em um tomógrafo. . . . . . . . . . . . . . . . . . . . . . . . . . . 20 4 Deep Fakes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 5 Espectro eletromagnético organizado de acordo com a energia por fóton. . 24 6 A primeira radiografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 7 Imagem retirada do telescópio Hubble . . . . . . . . . . . . . . . . . . . . . 26 8 Existência da absorção pela vegetação através do infravermelho . . . . . . 26 9 Imagem captada pelo satélite Sentinel-1 através da banda de micro-ondas . 27 10 Componentes de um único sensor. . . . . . . . . . . . . . . . . . . . . . . . 29 11 Esquerda: Imagem digital da obra “Objetos Deformados - IV”. Direita: Zoom da região retangular destacada na imagem à esquerda. . . . . . . . . 32 12 Paletas de cores do sistema RGB. . . . . . . . . . . . . . . . . . . . . . . . 34 13 Matriz associada a imagem de uma maçã . . . . . . . . . . . . . . . . . . . 34 14 Matriz associada a imagem de uma maçã 10 × 10 . . . . . . . . . . . . . . 35 15 Obra “Retrato de um Anônimo” em diferentes resoluções. . . . . . . . . . . 36 16 Canais de cores da obra “Da pedra ao pó” de 2023. . . . . . . . . . . . . . 51 17 Ausência de cores da obra “Animais” de 2012. . . . . . . . . . . . . . . . . 52 18 Complementar de cores da obra “Pequenas Almas - Imaginário Infantil” de 2006. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 19 Aumento dos tons de vermelho da obra “Sonhos da Lua” de 2014. . . . . . 54 20 Aumento dos tons de verde da obra “Sonhos da Lua” de 2014. . . . . . . . 55 21 Aumento dos tons de azul da obra “Sonhos da Lua” de 2014. . . . . . . . . 55 22 Obra Experiência (Kambô) de 2020. . . . . . . . . . . . . . . . . . . . . . . 56 23 Metade esquerda da obra Experiência (Kambô) de 2020. . . . . . . . . . . 56 24 Metade direita da obra Experiência (Kambô) de 2020. . . . . . . . . . . . . 57 25 Soma de duas metades da obra Experiência (Kambô) de 2020. . . . . . . . 57 26 A louva a Deus obra de 2023. . . . . . . . . . . . . . . . . . . . . . . . . . 58 27 Imagem da obra alterada. . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 28 Subtração de imagens. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 LISTA DE FIGURAS 11 29 Luz obra de 2016. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 30 Subtração de imagens utlizando o comando for. . . . . . . . . . . . . . . . 61 31 Reencontro com o lúdico . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 32 Reencontro com o lúdico obra de 2023. . . . . . . . . . . . . . . . . . . . . 63 33 Efeito de transição entre imagens. . . . . . . . . . . . . . . . . . . . . . . . 64 34 Transição de imagens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 35 Transposição da obra “Faces-Internas. O Suicida, o artista e o Louco” de 2004. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 36 Reflexão em torno do eixo y. . . . . . . . . . . . . . . . . . . . . . . . . . . 71 37 Imagem original da obra “Faces-Internas. O Suicida, o artista e o Louco” de 2004 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 38 Reflexão em torno do eixo x . . . . . . . . . . . . . . . . . . . . . . . . . . 72 39 Reflexão em torno do eixo y . . . . . . . . . . . . . . . . . . . . . . . . . . 72 40 Cisalhamento horizontal de um quadrado k = 1. . . . . . . . . . . . . . . . 74 41 Cisalhamento vertical de um quadrado k = 1. . . . . . . . . . . . . . . . . 75 42 Rotação de um ângulo θ no R2. . . . . . . . . . . . . . . . . . . . . . . . . 76 43 Rotação de 30° de um quadrado. . . . . . . . . . . . . . . . . . . . . . . . 78 44 Rotação da obra “Paranoico” de 2023. . . . . . . . . . . . . . . . . . . . . 78 45 Rotação de 30◦ em três passos. . . . . . . . . . . . . . . . . . . . . . . . . 82 46 Rotação de 45◦ em três passos da obra “Trípico Crânios - Peça 1” de 2013. 85 47 Exemplo de dilatação de uma região para a obra “O sopro” de 2004. . . . . 88 48 Dilatação de imagens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 49 Reconstrução de imagens . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Lista de Tabelas 1 Lucro de vendas de doces caseiros. . . . . . . . . . . . . . . . . . . . . . . . 38 2 Lucro de venda de doces no primeiro semestre . . . . . . . . . . . . . . . . 40 3 Lucro de venda de doces no segundo semestre . . . . . . . . . . . . . . . . 40 4 Lucro de venda de doces anual . . . . . . . . . . . . . . . . . . . . . . . . . 41 5 Produção mensal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 6 Produção semestral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 7 Tempo para produção . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 8 Vendas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 9 Transposição da tabela de vendas . . . . . . . . . . . . . . . . . . . . . . . 48 Sumário 1 Introdução 15 2 Processamento digital de imagem 17 2.1 O que é o processamento digital de imagem? . . . . . . . . . . . . . . . . . 17 2.2 Uma breve história do processamento digital de imagem . . . . . . . . . . 18 3 Fundamentos da imagem digital 23 3.1 Imagens a partir do espectro eletromagnético . . . . . . . . . . . . . . . . . 23 3.1.1 Raios X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.1.2 Radiação ultravioleta . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.1.3 Radiação infravermelho . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.1.4 Micro-ondas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.1.5 Rádio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.2 Dispositivos de aquisição de imagem . . . . . . . . . . . . . . . . . . . . . 28 3.3 Aquisição de imagens por meio de sensores . . . . . . . . . . . . . . . . . . 29 3.3.1 Sensores de varredura de linha . . . . . . . . . . . . . . . . . . . . . 29 3.3.2 Sensores matriciais . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.4 Modelo simples de formação de imagem . . . . . . . . . . . . . . . . . . . . 31 3.4.1 Bitmaps, matrizes e esquemas de cores . . . . . . . . . . . . . . . . 31 3.5 Resolução de uma imagem digital . . . . . . . . . . . . . . . . . . . . . . . 35 4 Álgebra matricial 37 4.1 Contexto histórico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.2 Matrizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 4.2.1 Operações aritméticas matriciais . . . . . . . . . . . . . . . . . . . 40 4.2.2 Adição e subtração de matrizes . . . . . . . . . . . . . . . . . . . . 40 4.2.3 Multiplicação de uma matriz por um escalar . . . . . . . . . . . . . 42 4.2.4 Multiplicação de matrizes . . . . . . . . . . . . . . . . . . . . . . . 44 4.2.5 Matriz transposta . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 SUMÁRIO 14 5 Imagens digitais no GNU Octave 50 5.1 Algumas manipulações de imagens digitais . . . . . . . . . . . . . . . . . . 50 5.2 A multiplicação de matrizes por escalar e imagens digitais . . . . . . . . . 53 5.3 A adição de matrizes e imagens digitais . . . . . . . . . . . . . . . . . . . . 55 5.4 A subtração de matrizes e imagens digitais . . . . . . . . . . . . . . . . . . 58 5.5 Transição imagens digitais . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 5.6 Transposição de imagens digitais . . . . . . . . . . . . . . . . . . . . . . . 65 6 Transformações lineares por matrizes e aplicações à imagens digitais 67 6.1 Transformações Lineares . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 6.2 Transformações no plano: reflexão . . . . . . . . . . . . . . . . . . . . . . . 69 6.3 Transformações no plano: cisalhamento . . . . . . . . . . . . . . . . . . . . 73 6.4 Transformações no plano: rotação . . . . . . . . . . . . . . . . . . . . . . . 76 6.4.1 Rotação em três passos . . . . . . . . . . . . . . . . . . . . . . . . . 79 6.5 Dilatação de imagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 7 SVD e a pseudoinversa 91 7.1 Pré-requisitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 7.2 Autovalores e o Teorema Espectral . . . . . . . . . . . . . . . . . . . . . . 99 7.3 Decomposição em Valores Singulares (SVD) . . . . . . . . . . . . . . . . . 103 7.4 Aplicação de SVD em Imagens Digitais . . . . . . . . . . . . . . . . . . . . 109 8 Considerações finais 113 Referências 115 1 Introdução A relação entre a Álgebra Linear e o tratamento de imagens oferece um terreno fértil para a inovação e o avanço em diversas áreas do conhecimento como, a ciência da com- putação, a matemática aplicada, a engenharia e a medicina. A capacidade de manipular e extrair informações a partir de imagens digitais é fundamental na nossa sociedade mo- derna, onde a informação visual tem papel importante na comunicação e na tomada de decisões. A Álgebra Linear é uma área da matemática que trabalha com matrizes e transforma- ções matriciais fornecendo ferramentas poderosas para analisar e manipular dados visuais, permitindo refletir, distorcer e rotacionar imagens, segmentar objetos de interesse, remo- ver ruídos e até reconstituir imagens a partir de dados incompletos ou corrompidos. O objetivo deste trabalho é apresentar, além dos conceitos teóricos, uma abordagem prática e acessível da Álgebra Linear, com ênfase especial na Álgebra Matricial aplicada às técnicas de manipulação de imagens. Com foco no estudo e aplicação das operações e transformações matriciais, pretendemos atender ao público de estudantes do ensino médio e técnico, estendendo-se até aqueles envolvidos em níveis mais avançados de graduação e pós-graduação. Além disso, esperamos que este trabalho torne a Álgebra Linear acessível e compre- ensível para todos os interessados em suas aplicações, em especial no processamento de imagens. Desde a simples representação matricial de imagens até técnicas sofisticadas de manipulação, com uma abordagem inclusiva e didática, esperamos que este trabalho possa servir como um guia confiável e inspirador para aqueles que desejam explorar o vasto e fascinante mundo da Álgebra Linear aplicada ao processamento de imagens. Este trabalho está dividido da seguinte maneira. O capítulo dois apresenta o conceito e a definição do processamento de imagens, traçando uma perspectiva histórica que destaca a evolução da percepção automática de imagens por máquinas para fins de armazena- mento, transmissão e representação. Também serão abordados os componentes presentes em um sistema típico de processamento digital de imagens. O terceiro capítulo explora os principais tópicos relacionados aos fundamentos da imagem digital. Inicia-se com uma análise das principais fontes de captação de imagens, como o espectro eletromagnético, passando pelo sistema de aquisição de imagens, até 15 Introdução 16 chegar à resolução de uma imagem digital, elemento essencial para o seu tratamento posterior. O capítulo quatro apresenta um panorama histórico das matrizes, abrangendo não apenas sua definição, mas também as diversas categorias existentes e as operações funda- mentais associadas a elas. No capítulo cinco, exploramos exemplos práticos de manipulação de imagens no GNU Octave, destacando como as operações matriciais se traduzem em transformações visuais. O sexto capítulo foca em transformações lineares aplicadas a imagens digitais, como reflexões, rotações e cisalhamentos, além de dilatações, demonstrando sua implementação prática. Finalmente, no último capítulo discutimos a Decomposição em Valores Singulares (SVD), explorando sua relevância teórica e aplicações, incluindo a pseudoinversa de ma- trizes e sua influência na compressão e reconstrução de imagens. Com este trabalho buscamos não apenas consolidar o entendimento sobre as conexões entre a álgebra matricial e o processamento de imagens digitais, mas também fornecer um guia prático para a implementação dessas técnicas no GNU Octave. Tal abordagem pretende contribuir tanto para o avanço acadêmico quanto para aplicações práticas no campo das imagens digitais. Todas as aplicações realizadas no GNU Octave podem ser acompanhadas, e os materi- ais, juntamente com os códigos, estão disponíveis em https://github.com/jmbettiol/ Manipula-o-de-imagens.git. https://github.com/jmbettiol/Manipula-o-de-imagens.git https://github.com/jmbettiol/Manipula-o-de-imagens.git 2 Processamento digital de imagem Neste capítulo exploraremos o processamento de imagens digitais e sua evolução ao longo do tempo. Percorrendo da primeira aparição de uma imagem digital na década de 1960 até os dias atuais. As referências principais utilizadas foram os textos de Gonzalez e Woods (2010) e Pratt (2007). 2.1 O que é o processamento digital de imagem? É crucial compreendermos a diferença entre uma imagem normal e o processamento de imagens digitais. Uma imagem irá mostra algo que podemos ver, como um objeto, um lugar ou um desenho. Alguns dispositivos, como câmeras fotográficas, podem capturar isso. As imagens podem ser analógicas ou digitais. As imagens analógicas aparecem a partir de processos físicos e químicos como, por exemplo, a revelação de um filme fotográfico. Além das fotografias temos as ilustrações, gráficos e desenhos como exemplos de imagens analógicas. Já as imagens digitais são criadas por amostragem e quantização, transfor- mando uma imagem normal em uma grade de pequenos pontos conhecidos como pixels. É importante destacar que A visão é o mais avançado dos nossos sentidos, de forma que não é de surpreender que as imagens exerçam o papel mais importante na per- cepção humana. No entanto, diferentemente dos seres humanos, que são limitados à banda visual do espectro eletromagnético (EM), os apare- lhos de processamento de imagens cobrem quase todo o espectro EM, variando de ondas gama a ondas de rádio. (Gonzalez; Woods, 2010, p. 1). Gonzalez e Woods (2010) define imagem como uma função bidimensional do tipo f(x, y), em que a amplitude de f é a intensidade de valores de cinza da imagem em função dos pontos x e y contidas em um plano qualquer. Quando x, y e os valores da intensidade de f são finitos e discretos, teremos o que chamaremos de uma imagem digital. Existem diversos métodos e algoritmos para processar uma imagem digital. Pratt (2007) observa que existem técnicas com o objetivo de aprimorar a qualidade visual como, 17 Uma breve história do processamento digital de imagem 18 por exemplo, realce de contraste e nitidez. Outras técnicas são focadas na extração de informações, como segmentação e detecção de bordas. Um exemplo de uma técnica bastante utilizada é o processo de filtragem, que quando se aplica operações matemáticas específicas pode-se remover ruídos, realçar detalhes ou suavizar algumas características indesejadas. O processamento de imagens de nível médio envolve tarefas como a seg- mentação (separação de uma imagem em regiões ou objetos), a descrição desses objetos para reduzi-los a uma forma adequada para o processa- mento computacional e a classificação (reconhecimento) de objetos in- dividuais. Um processo de nível médio é caracterizado pelo fato de suas entradas, em geral, serem imagens, mas as saídas são atributos extraídos dessas imagens (isto é, bordas, contornos e a identidade de objetos indi- viduais). Por fim, o processamento de nível alto envolve “dar sentido” a um conjunto de objetos reconhecidos, como na análise de imagens e, no extremo dessa linha contínua, realizar as funções cognitivas normal- mente associadas à visão. (Gonzalez; Woods, 2010, p. 2). Uma outra aplicação interessante é a detecção e reconhecimento de padrões. Segundo Duda et al. (2012), o processamento digital de imagens tem sido aplicado com sucesso no reconhecimento de gestos, detecção de objetos em imagens de satélites ou sistemas de vigilância. O processamento de imagens digitais é uma área importante e que apresenta muitas aplicações de diversos conceitos matemáticos. 2.2 Uma breve história do processamento digital de imagem Nesta seção destacaremos diversos momentos históricos importantes das imagens di- gitais, desde a primeira imagem digital até os dias atuais. Em 1957, o engenheiro Russell A. Kirsch (1929 - 2020) e sua equipe no National Institute of Standards and Technology - NIST desenvolveram o scanner de computador para criar a primeira imagem digital a partir de uma fotografia como mostra a Figura 1. A imagem foi a digitalização de 176 × 176 pixels da foto de sua filha, Walden Kirsch. Uma breve história do processamento digital de imagem 19 Figura 1: A primeira imagem digital criada em 1957 por Russel Kirsch. Fonte: https://olhardigital.com.br/2020/08/14/noticias/ criador-da-primeira-imagem-digital-da-historia-morre-aos-91-anos/. Acesso: 05 nov. 2023. Esta imagem resultou em uma representação binária da fotografia, onde cada pixel era codificado como um valor binário, estabelecendo assim o conceito fundamental de uma imagem digital. Pode parecer rudimentar para os padrões modernos, mas a imagem digitalizada foi fundamental para o crescimento do processamento por máquina e, em seguida, da imagem digital. Na década de 1960, com a chegada da terceira geração de computadores, temos a adaptação dos primeiros sistemas digitais de manipulação de imagens em laboratórios de pesquisa. Computadores mais rápidos e potentes permitiram o armazenamento digital das imagens capturadas (Gonzalez; Woods, 2010). A digitalização de imagens médicas possibilitou converter imagens analógicas, como radiografias, em imagens digitais. Segundo Hounsfield (1973), a Tomografia Computa- dorizada baseia-se em princípios matemáticos complexos e na combinação de raios X captados em diferentes ângulos para reconstruir imagens tridimensionais, como mostra a Figura 2. https://olhardigital.com.br/2020/08/14/noticias/criador-da-primeira-imagem-digital-da-historia-morre-aos-91-anos/ https://olhardigital.com.br/2020/08/14/noticias/criador-da-primeira-imagem-digital-da-historia-morre-aos-91-anos/ Uma breve história do processamento digital de imagem 20 Figura 2: Composição da imagem tridimensional em um tomógrafo. Fonte: (Hounsfield, 1973, p. 1017). A Figura 3 mostra um paciente no interior de um tomógrafo. Esse recurso represen- tou um avanço notável em relação às radiografias tradicionais, que produzem imagens bidimensionais, limitando a capacidade de diagnóstico. Figura 3: Paciente em um tomógrafo. Fonte: (Hounsfield, 1973, p. 1018). Na década de 1980, computadores melhores e novos programas de computador aju- Uma breve história do processamento digital de imagem 21 daram a melhorar a edição de imagens. Segundo (Szeliski, 2010), o desenvolvimento de algoritmos avançados, combinados com um hardware mais potente, permitiu o processa- mento de imagens em tempo real e a aplicação de técnicas de visão computacional em diversos campos. Os anos 1990 foi um período crítico no amadurecimento da visão computacional. O desenvolvimento de hardwares mais poderosos possibilitou a realização de tarefas com- plexas de análise de imagens em tempo real. Um campo em que a visão computacional começou usar amplamente sua utilidade foi em sistemas de segurança e vigilância. Câ- meras dotadas de sensores de movimento eram frequentemente usadas para monitorar grandes extensões de terra e rastrear atividades suspeitas (Haritaoglu et al., 2000). Já a indústria automobilística também foi beneficiada. Sistemas de assistência ao mo- torista, como detecção de obstáculos e sistemas de estacionamento automático ganham destaque e abrem caminho para a condução autônoma (Janai et al., 2021). A visão computacional também encontrou aplicações em áreas como agricultura, robótica, reco- nhecimento facial, realidade virtual entre outras. A análise de imagem tornou-se uma ferramenta versátil e indispensável (Shapiro; Stockman, 2001). A fotografia digital começava a se tornar cada vez mais popular durante a década de 2000. As câmeras digitais se tornavam mais baratas e acessíveis, substituindo gra- dativamente as câmeras analógicas. A quantidade total de fotos produzidas aumentava exponencialmente com o passar do tempo. Portanto, tornou-se necessário um número proporcional de ferramentas para edição e processamento de fotos. Softwares como o Photoshop, produzidos pela Adobe, estavam se aprimorando, oferecendo cada vez mais funcionalidades complexas, como uso de camadas, máscaras e outras técnicas de retoque sofisticadas (Adobe, 2019). Conforme Alves (2018) e IBM (2020), durante a década 2010, o aprendizado e as Redes Neurais Convolucionais se tornaram tecnologias fundamentais no campo da visão com- putacional. Elas revolucionaram o reconhecimento de padrões em imagens, permitindo a detecção de objetos, a segmentação semântica e a classificação de imagens com alta precisão. Empresas como Google1, Microsoft2 e Facebook3 investiram em plataformas de aprendizado de máquina e visão computacional, tornando tais tecnologias mais acessíveis para desenvolvedores e pesquisadores. No início da década de 2020, o processamento de imagens enfrentou desafios mas continuou a evoluir em resposta a novas tendências. Por exemplo, as deep fakes (ver Figura 4), imagens médicas avançadas, análise de vídeo em tempo real e privacidade de dados. 1www.google.com 2www.microsoft.com 3www.meta.com www.google.com www.microsoft.com www.meta.com Uma breve história do processamento digital de imagem 22 Figura 4: Deep Fakes Fonte: https://proyectoidis.org/deepfake/. Acesso: 07 nov. 2023. À medida que a tecnologia segue avançando, o processamento de imagens desempenha um papel importante em nossa sociedade e abrem portas para a inovação. https://proyectoidis.org/deepfake/ 3 Fundamentos da imagem digital Neste capítulo, abordaremos alguns tópicos relacionados aos fundamentos da imagem digital. Desde a compreensão das fontes de captação de imagem, o espectro eletromag- nético, e o relacionamento entre pixels para o tratamento de imagem. As referências principais utilizadas foram Gonzalez e Woods (2010) e Bushberg et al. (2011) e outras citadas no texto. 3.1 Imagens a partir do espectro eletromagnético A radiação de elétrons é um conceito-chave na física e na ciência da luz que descreve a faixa de radiação eletromagnética (Gonzalez; Woods, 2010, pág. 27). Essas radiações, ca- racterizadas por ondas e partículas, desempenham um papel importante na compreensão do mundo natural. Além disso, a radiação eletromagnética é uma das principais fontes de energia para geração de imagens, especialmente nas bandas do visível e dos raios X do espectro. As ondas eletromagnéticas podem ser interpretadas como ondas de diferentes comprimentos de onda ou vistas como fluxos de partículas sem massa, cada padrão de onda viajando e se movendo na velocidade da luz. Cada partícula sem massa possui uma energia chamada fóton. Se agruparmos as bandas do espectro de acordo com a energia de cada fóton, obtemos um espectro como mostra a Figura 5. 23 Imagens a partir do espectro eletromagnético 24 Figura 5: Espectro eletromagnético organizado de acordo com a energia por fóton. Fonte: Figura 2.10 (Gonzalez; Woods, 2010, p. 28). O espectro eletromagnético compreende várias faixas de frequência, essas faixas in- cluem radiofrequência, micro-ondas, infravermelho, luz visível, ultravioleta, raios-X e raios gama. Cada região do espectro é utilizada em uma variedade de aplicações, desde comu- nicações e imagem médica até estudos astronômicos. 3.1.1 Raios X Os raios-X são fótons de alta energia, muito parecidos com a luz visível, mas com ener- gias significativamente maiores. Eles são criados através de processos nucleares como, por exemplo, o decaimento radioativo ou nas reações nos interiores de estrelas e supernovas. Os raios X foram descobertos pelo físico alemão Wilhelm Conrad Roentgen (1845 - 1923) em 1895. Neste fenômeno de luminescência, produzido por raios catódicos emitidos por um tubo fechado e preenchido com gás sob uma determinada pressão, dois eletrodos chamados de ânodo e cátodo são devidamente energizados, havendo uma determinada diferença de potencial entre eles. Os elétrons percorrem rapidamente do cátodo para o ânodo, ionizando o gás dentro do tubo e provocando luminescência. Todo este material é enclausurado por uma caixa de filme negro, submetido a um papel com um composto químico chamado de platinocianeto de bário. Durante os testes, Roentgen percebeu que, ao aplicar energia no tubo, uma certa radiação era emitida, marcando o papel com pla- tinocianeto. Ao submeter determinados objetos a esta radiação, o papel acabava sendo marcado com diferentes contrastes de cor, dependendo da densidade e composição dos elementos do objeto. Imagens a partir do espectro eletromagnético 25 Na década de 1920, as imagens de raios-X, mostradas na Figura 6, começaram a ser utilizadas para diagnóstico médico, marcando o início da aplicação de técnicas de processamento de imagem na medicina. Figura 6: A primeira radiografia Fonte: https://www.blog.meuguru.net/raio-x-e-sua-evolucao/. Acesso: 9 nov. 2023. Os raios X revolucionaram a medicina, permitindo diagnósticos mais precisos e menos invasivos. Eles se tornaram em uma ferramenta valiosa na pesquisa científica, auxiliando cientistas no entendimento da natureza. 3.1.2 Radiação ultravioleta Em 1801, o físico alemão Johann Wilhelm Ritter (1776 - 1810) descobre a radadiação ultra violeta UV (Silva, 2017, p. 4). Ritter estava investigando os efeitos da luz solar por meio de experimentos com lentes e prismas. Ele observou que, além da luz visível, havia uma forma invisível de radiação que causava a formação de imagens em chapas fotossensíveis. Ele chamou essa radiação de “luz química” e reconheceu que estava além do espectro visível sendo essa a primeira observação documentada sobre radiação. Para obter imagens dentro da banda UV, são necessários sensores sensíveis a essa faixa espectral. Esses sensores podem capturar informações sobre a intensidade da radiação UV, que permite a criação de imagens que destacam características e fenômenos que emitem ou interagem com radiação UV. A radiação UV por sua vez, pode trazer riscos à saúde. A radiação UV é utilizada na astronomia para a observação do universo. Telescópios espaciais, como o Telescópio Espacial Hubble, estão equipados com instrumentos sensíveis à radiação UV que permitem a observação de objetos astronômicos na faixa do espectro ultra violeta trazendo informações importantes, por exemplo, a composição química das estrelas, a evolução das galáxias, ou mesmo, a presença de objetos celestes que emitem radiação UV. Ver Figura 7. https://www.blog.meuguru.net/raio-x-e-sua-evolucao/ Imagens a partir do espectro eletromagnético 26 Figura 7: Imagem retirada do telescópio Hubble Fonte: https://stsci-opo.org/STScI-01HDHATHMQ6H9MD7A4D9MBPPEG.png. Acesso: 9 nov. 2023. 3.1.3 Radiação infravermelho Sir William Herschel (1738 - 1822) foi um astrônomo e físico britânico e é frequen- temente associado à primeira observação científica da radiação infravermelha (Oliveira; Silva, 2014). Em 1800, Herschel realizou experimentos com prismas para estudar o es- pectro da luz solar. Ele percebeu que havia uma região invisível além do vermelho que produzia um aumento significativo de temperatura em um termômetro, embora não fosse visível a olho nu. Ele chamou essa radiação de “calor radiante”. Para adquirir imagens na banda infravermelha, são necessários sensores sensíveis a essa faixa espectral que detec- tam a radiação infravermelha emitida ou refletida por objetos e transformam em imagens visíveis. A radiação infravermelha é utilizada, por exemplo, no sensoriamento remoto aplicado à agricultura, geologia e meio ambiente. A análise de culturas agrícolas por meio de imagens infravermelhas fornecem informações sobre a saúde das plantas, a irrigação e a detecção de pragas (Ver Figura 8). Figura 8: Existência da absorção pela vegetação através do infravermelho Fonte: https://mundogeo.com/wp-content/uploads/2021/06/01170538/image1.png. Acesso: 9 nov. 2023. https://stsci-opo.org/STScI-01HDHATHMQ6H9MD7A4D9MBPPEG.png https://mundogeo.com/wp-content/uploads/2021/06/01170538/image1.png Imagens a partir do espectro eletromagnético 27 3.1.4 Micro-ondas Em 1964, os radioastrônomos Arno Penzias (1933-2024) e Robert Wilson (1933-), descobriram a radiação micro-ondas cósmica acidentalmente enquanto buscavam sinais de rádio no espaço. Eles identificaram um “zumbido” constante que não correspondia a nenhuma fonte de rádio conhecida (Guimarães, 2023). Essa radiação foi posteriormente identificada como a Radiação Cósmica de Fundo em Micro-ondas, que é um dos pilares da evidência do Big Bang e da expansão do universo. A aquisição de imagens de micro-ondas envolve o uso de satélites ou aeronaves equipa- das com sensores de micro-ondas. Esses sensores emitem micro-ondas e medem a radiação refletida ou emitida pela superfície da Terra. A análise desses dados pode fornecer infor- mações sobre diferentes características da superfície, como umidade do solo, cobertura de vegetação e deformações da superfície. Uma outra aplicação é a observação da Terra. Satélites como o Sentinel-1 da Agência Espacial Europeia são equipados com instrumentos que utilizam micro-ondas para captu- rar imagens da Terra em diferentes condições meteorológicas e de iluminação. Na Figura 9, a imagem à esquerda mostra a profundidade da água sobre Molinella4 desde 17 de maio de 2023, enquanto a imagem à direita mostra as perdas econômicas estimadas para edifícios residenciais. Essas imagens são essenciais para o monitoramento de desastres naturais, como deslizamentos de terra e inundações, bem como para o mapeamento da cobertura do solo. Figura 9: Imagem captada pelo satélite Sentinel-1 através da banda de micro-ondas Fonte: https://www.esa.int/Applications/Observing_the_Earth/Satellites_ map_aftermath_of_Emilia-Romagna_floods/. Acesso: 9 nov. 2023. 4Molinella é uma comuna italiana da região da Emília-Romanha, província de Bolonha. https://www.esa.int/Applications/Observing_the_Earth/Satellites_map_aftermath_of_Emilia-Romagna_floods/ https://www.esa.int/Applications/Observing_the_Earth/Satellites_map_aftermath_of_Emilia-Romagna_floods/ Dispositivos de aquisição de imagem 28 3.1.5 Rádio As ondas de rádio foram previstas matematicamente por James Clerk Maxwell (1831- 1879), mas sua detecção somente foi possível devido a experimentos realizados pelo físico alemão Heinrich Hertz (1857-1894). Tais experimentos ajudaram a provar a natureza ondulatória da radiação eletromagnética. As ondas de rádio não se limitam apenas para aplicações como aquisição de imagens, mas também surgem nas transmissões de AM/FM. A aquisição de imagens de rádio faz uso de antenas ou receptores projetados para detectar a radiação desejada. Os recep- tores convertem as ondas eletromagnéticas em sinais elétricos que podem então serem processados para formar imagens ou extrair informações. Procedimentos computacionais são utilizados para realçar o contraste ou para codificar os níveis de intensidade em cores para facilitar a interpre- tação de imagens radiográficas e outras imagens utilizadas na indústria, na medicina e nas ciências biológicas. Geógrafos utilizam as mesmas téc- nicas, ou técnicas similares, para estudar padrões de poluição a partir de imagens aéreas e de satélite. (Gonzalez; Woods, 2010, p. 4).) Técnicas como a sísmica de reflexão e a radarização do solo são exemplos das muitas aplicações para a exploração de recursos naturais, pesquisa de petróleo, mapeamento geológico e estudos de terremotos. 3.2 Dispositivos de aquisição de imagem O dispositivo de aquisição é o primeiro componente de um sistema de processamento de imagens. A captura da imagem é feita por meio de câmeras digitais, scanners, ou até mesmo sensores de imagem específicos como acontece, por exemplo, no raio X. A aquisição pode ser tão simples quanto receber uma imagem já existente em formato digital. Geralmente, o estágio de aquisição de imagem envolve o pré-processamento (Gonzalez; Woods, 2010). Sistemas projetados para a captação, manipulação e análise de imagens, visando obter informações relevantes para guiar decisões ou para auxiliar em pesquisas científicas, são classificados como partes de um sistema de processamento de imagens. A complexidade desses sistemas reside tanto em seus componentes essenciais quanto nas técnicas cuida- dosamente implementadas em cada etapa do procedimento. Neste cenário, a coleta de informações visuais e sua posterior manipulação envolvem diversos desafios que vão desde a escolha de equipamentos apropriados para a aquisição, como câmeras e sensores, até a implementação de métodos sofisticados de pré-processamento para melhorar a qualidade da imagem. O pós-processamento tem como tarefa refinar os resultados, reunir e juntar informações de várias fontes e apresentar os achados de maneira compreensível, fechando assim o ciclo Aquisição de imagens por meio de sensores 29 do processo de processamento de imagens. A complexidade intrínseca desses sistemas não reside apenas na arquitetura e compo- nentes, mas também nas técnicas avançadas aplicadas em cada etapa, que são fundamen- tais para transformar dados visuais brutos em informações. 3.3 Aquisição de imagens por meio de sensores A obtenção de imagens por meio de sensores é um grande feito da tecnologia atual, cobrindo setores que vão desde a fotografia tradicional até aplicações avançadas como a visão computacional e a realidade aumentada. Este processo, muitas vezes invisível aos olhos do usuário final, é, na verdade, uma convergência complexa de tecnologias que desempenham um papel vital na forma como percebemos e interagimos com o mundo visual. Nesta seção falaremos dos principais tipos de sensores de imagens presentes no mercado, com uma maior ênfase nos sensores matriciais. 3.3.1 Sensores de varredura de linha A linha de varredura é uma sequência ordenada de linhas horizontais que um feixe de elétrons percorre em dispositivos de exibição e digitalização de imagens. Essa téc- nica é amplamente utilizada para criar imagens em displays e capturar informações em equipamentos de digitalização. É ela que está por trás da formação de imagens em uma grande variedade de dispositivos eletrônicos. Nos dispositivos de exibição, como televisões e monitores, a linha de varredura é fundamental para criar imagens visíveis na tela. Inicialmente temos uma tela composta por uma grade de sensores organizados em linhas horizontais e colunas verticais. A Figura 10 mostra a composição de um único sensor. Figura 10: Componentes de um único sensor. Fonte: Adaptada pelo autor a partir da Figura 2.12 (a) de (Gonzalez; Woods, 2010, p. 30). Um feixe de elétrons é direcionado para a tela. “O arranjo linear dos sensores fornece elementos para a aquisição de imagens em uma direção” (Gonzalez; Woods, 2010, p. 31). Aquisição de imagens por meio de sensores 30 Cada sensor é um ponto luminoso que compõe a imagem final sendo “possível construir dispositivos de varredura de linha com 4.000 ou mais sensores alinhados” (Gonzalez; Woods, 2010, p. 31). Após completar a varredura de uma linha, o feixe de elétrons retorna para o início para começar a varredura da próxima linha. A sequência de varredura começa no topo da tela e progride horizontalmente por todas as linhas até a parte inferior, criando assim uma imagem completa. Esse processo é repetido continuamente para manter a exibição da imagem. Essa análise é realizada em alta velocidade, normalmente dezenas a centenas de vezes por segundo, para gerar imagens com movimentos suaves e constantes. 3.3.2 Sensores matriciais Os dois tipos mais comuns de sensores são os de carga acoplada CCD e os semi- condutores complementares de óxido metálico CMOS. Ambos têm suas vantagens e desvantagens. Por exemplo, os CCDs proporcionam uma qualidade de imagem supe- rior e são comumente empregados em câmeras profissionais. Por outro lado, os sensores CMOS são mais frequentes em aparelhos móveis por conta de sua eficiência energética e habilidade de gravar vídeos de alta definição. O sensor CCD é feito de fotodiodos que coletam a luz, para então convertê-la em uma carga elétrica. Esta energia é convertida em um sinal digital, que é interpretado para reconstruir a imagem. Cada sensor consiste em quatro partes, os fotodiodos dispostos em fileiras em forma de matriz, os capacitores conectados aos fotodiodos e interligados entre si, em seguida, um amplificador de sinal elétrico e, finalmente, um conversor analógico- digital de sinal. A imagem é projetada através da lente da câmera na área composta pelos fotodiodos. Quanto mais fotodiodos, maior a resolução da imagem. Os fotodiodos ficam conectados a um capacitor e cada capacitor acumula uma carga elétrica proporcional à intensidade da luz. Esse sinal elétrico é transferido para o capacitor vizinho, sucessivamente, até chegar ao final da fileira e é convertido em tensão elétrica. Por sua vez, esta tensão é enviada como um sinal analógico até um amplificador. O sinal amplificado passa por um conversor analógico-digital e vira um sinal digital (Bushberg et al., 2011, p. 297). Sensores CCD são recomendados para aplicações que exigem maior precisão nas cores, melhor desempenho em pouca luz e menos ruído. Isso vale para áreas como astronomia e biomedicina. Já o sensor CMOS também transforma a luz em um sinal elétrico, que é amplificado dentro do fotodiodo e gera o sinal digital representando a imagem. Existem quatro com- ponentes principais do sensor. Primeiro, uma microlente direciona a luz para o fotodiodo. Depois um filtro de cor deixa passar somente uma cor da luz. O fotodiodo por sua vez, converte a luz em corrente elétrica e finalmente o conversor analógico-digital converte a eletricidade em um sinal digital, ou seja, em uma sequência de zeros e uns. O filtro de cor que recebe a luz vinda da lente permite passar somente determinados Modelo simples de formação de imagem 31 padrões de cores, por exemplo, o RGB (vermelho, verde e azul). Em um sensor CMOS, cada pixel é composto por um fotodetector, para capturar a luz, e por um ou mais tran- sistores ativos. Os transistores amplificam o sinal elétrico e o repassam para o conversor analógico-digital. Quanto mais fotodiodos, maior a resolução da imagem. O tamanho do sensor também afeta a profundidade de campo (Sukhavasi et al., 2021). Segundo Sukhavasi et al. (2021, p. 5), diferentes tipos de sensores de imagem CMOS evoluíram para superar as desvantagens e atender aos requisitos da aplicação. Sensores CMOS são indicados para dispositivos compactos, como smartphones, ou que não requerem uma qualidade de imagem tão alta, como câmeras de segurança. 3.4 Modelo simples de formação de imagem Com o avanço da computação, a discretização de grandezas contínuas e sua representa- ção passam a ter de grande importância. Os processos digitais naturalmente predominam sobre os analógicos. Diante dessa evolução, a terminologia “imagem analógica” (ou ima- gem contínua) dá lugar à “imagem digital”. O sinal analógico de vídeo obtido à saída do dispositivo de aquisição deve ser submetido a uma discretização espacial e em amplitude para tomar o formato desejável ao processamento computacional (Filho; Neto, 1999, p. 22). Assim, a discretização refere-se à conversão de dados visuais analógicos em digitais, permitindo sua representação e processamento através de sistemas de computação. Este processo envolve a divisão da imagem em uma série de pixels (picture element), cada um ligado a um valor discreto que define sua cor e intensidade. Matematicamente, essa grade de pixels é uma quantidade limitada de pontos inserida na malha contida no retângulo S ⊂ R2, associando cada pequena área contínua a uma única entrada numérica, deno- minada pixel. Esse procedimento resulta na geração de gráficos do tipo bitmap, onde a discretização da superfície do retângulo em uma grade fina de pixels permite a represen- tação visual das informações associadas a cada ponto discreto da malha. 3.4.1 Bitmaps, matrizes e esquemas de cores Em uma imagem bitmap, o termo pixel é estabelecido como a menor unidade da re- presentação digital, configurando-se assim como uma unidade de discretização empregada na tradução computacional de imagens contínuas por meio do processo de entradas de pixels para gerar um gráfico do tipo bitmap. A cada pixel é associada uma cor, possibili- tando a representação discreta das imagens. Além disso, essa representação proporciona a capacidade de processamento e armazenamento eficientes em sistemas computacionais. Modelo simples de formação de imagem 32 Bitmaps funcionam bem para imagens com variações complexas em suas formas e cores, tais como quadros (frames) de vídeo e fotografias digita- lizadas. As imagens das telas de computadores são criadas no formato bitmap e portanto são mais facilmente gravadas do mesmo modo. As imagens bitmap também são adequadas para reprodução em impresso- ras, cujo método de formação de imagens é semelhante à varredura de um monitor de vídeo (Filho; Neto, 1999, p. 263). Dessa maneira, torna-se viável discernir o procedimento de discretização de uma ima- gem mediante a aplicação de um zoom progressivo, culminando na delimitação da per- cepção a uma ínfima porção denominada pixel. Estes elementos, quando examinados visualmente, adquirem a configuração de diminutos quadrados, como ilustrado na Figura 11. Figura 11: Esquerda: Imagem digital da obra “Objetos Deformados - IV”. Direita: Zoom da região retangular destacada na imagem à esquerda. Fonte: Claudinei Bettiol https://bettiol.art.br/, 2014. O procedimento de captura de uma imagem do mundo real para uma imagem digital em formato bitmap é representada computacionalmente por uma matriz A de ordem m×n, na qual cada elemento aij está associado a um valor numérico pertencente ao conjunto dos números naturais, ou mesmo a um subconjunto específico desses números, a fim de codificar com precisão a cor ou tonalidade correspondente. Em notação matemática, isso é escrito na forma: A =  a11 a12 . . . a1n a21 a22 . . . a2n ... ... . . . ... am1 am2 . . . amn  Assim, A é o domínio dos índices (i, j), que correspondem à posição de cada pixel em uma imagem. A função f associa a cada elemento de posição (i, j) ∈ A um elemento (R, G, B) ∈ P , onde P é o conjunto de todas as triplas ordenadas R, G e B que represen- https://bettiol.art.br/ Modelo simples de formação de imagem 33 tam as intensidades das cores vermelho (red), verde (green) e azul (blue), respectivamente, com valores naturais que variam de 0 a 255. Formalmente, podemos definir f como: f : {1, . . . , m} × {1, . . . , n} → {0, 1, . . . , 255} × {0, 1, . . . , 255} × {0, 1, . . . , 255} (i, j) 7→ (R(i, j), G(i, j), B(i, j)) com i variando de 1 a m e j variando de 1 a n, onde m e n são números naturais. Uma cor no sistema RGB, é criado através da combinação das três camadas de cores. A cor vermelha pura tem como imagem a sequência (255, 0, 0) sendo que a camada vermelha (R) atinge o máximo em (255) e as camadas verde (G) e azul (B) atingem o mínimo de (0). Da mesma forma, a cor verde pura é (0, 255, 0), onde a camada verde (G) atinge o máximo de (255) e as camadas vermelho (R) e azul (B) atingem o mínimo de (0). Por fim, (0, 0, 255) determina o azul puro, onde a camada (B) atinge o máximo de (255) e as camadas (R) e verde (G) atingem o mínimo de (0). A cor amarela por exemplo é a combinação do vermelho e verde, isto é, (255, 255, 0). A obtenção de cada cor de um pixel Cp, é feita através do produto entre os coeficientes de ponderação cR, cG e cB normalizados entre os valores entre 0 e 1 e as camadas (R, G, B) e depois somados, ou seja, Cp = (R.cR) + (G.cG) + (B.cB) Os coeficientes de ponderação são geralmente iguais a 1, o que significa que cada componente de cor contribui igualmente para a cor do pixel. No caso em que o coeficiente de ponderação é diferente de 1, a imagem usará os valores “arredondados” para garantir que sejam números naturais. Assim, a cor do pixel é simplesmente a soma dos valores dos componentes de cor. Portanto, se um pixel possui os valores RGB (100, 150, 200), a cor resultante será a mistura ponderada desses valores. Em resumo, o sistema RGB combina cores por meio da soma ponderada dos valores dos componentes de cor para cada pixel. Ver Figura 12. Modelo simples de formação de imagem 34 Figura 12: Paletas de cores do sistema RGB. Fonte: Elaborada pelo autor utilizando o software GNU Octave. A representação do modelo RGB é feita através de uma paleta de 256 tons para cada uma das três camadas de cores, identificadas por valores naturais que variam de 0 a 255, gerando um total de 2563 = 16.777.216 cores possíveis. Apesar da disponibilidade de vários modelos de cores, neste estudo, escolheremos exclusivamente o sistema RGB. Vale ressaltar que há outros modelos de cores disponíveis. Por exemplo, na impressão, o sistema CMY K (Ciano, Magenta, Amarelo e Preto) é aplicado a subtração de cores. No que diz respeito à cor preta, ela resulta da combinação de ciano, magenta e amarelo, enquanto no sistema RGB, o preto é resultado da falta das três cores primárias. Cada modelo é configurado para servir a propósitos particulares, espelhando as características únicas. Um exemplo de abordagem matricial para o tratamento de imagens é mostrado na Figura 13 onde cada pixel da maçã, em tons de cinza, é associado a um único elemento da matriz 18x18. Figura 13: Matriz associada a imagem de uma maçã Fonte: Elaborada pelo autor. Observamos que a imagem é composta por tons de cinzas. Neste caso, os valores das matrizes correspondentes ao R, G e B são iguais. Resolução de uma imagem digital 35 A Figura 14 mostra um exemplo de uma maçã de tamanho 10x10 com as três matrizes que compõe a imagem. Figura 14: Matriz associada a imagem de uma maçã 10 × 10 Fonte: Elaborada pelo autor. Observamos na Figura 14 que cada matriz à esquerda são as matrizes R para os tons de vermelho, G para os tons de verde e B para os tons de azul, respectivamente, onde é realizado a soma ponderada dos elementos aij de mesma posição cada matriz para formar cada pixel da imagem da direita. 3.5 Resolução de uma imagem digital A expressão resolução de imagem é frequentemente usada para indicar as dimensões de uma representação digital. Por exemplo, um monitor de Tubo de Raios Catódicos (TRC) tem a capacidade de mostrar uma imagem com resolução de 512 × 480 pixels e 256 cores diferentes. A especificação técnica para a resolução dos monitores é expressa em pontos por Resolução de uma imagem digital 36 polegada ou dpi (pontos por polegada). Isto é, um valor padrão de 150 dpi é visto como adequado para exibir visualmente uma imagem com resolução de 1920×1080 pixels (largura x altura) em um monitor de 32 polegadas. Este parâmetro nos diz que a tela possui uma largura de 1920 pixels e uma altura de 1080 pixels, resultando em um total de 2.073.600 pixels. Outro exemplo é a câmera de alta resolução do iPhone 12, que tira fotos com uma resolução de 4000 × 3000 pixels, totalizando 12.000.000 ou 12 Mega pixels. Essa configuração pode ser relacionada a uma matriz Am×n, em que as linhas e colunas delineiam a resolução da tela. O entendimento matricial faz uma ajuda a compreender a estrutura dimensional da imagem na tela e a relação entre a densidade de pixels assim como as características físicas do monitor. A obra “Retrato de um Anônimo” do artista contemporâneo Claudinei Bettiol, mos- trada na Figura 15, é um exemplo ilustrativo da comparação da mesma imagem em diferentes resoluções. Figura 15: Obra “Retrato de um Anônimo” em diferentes resoluções. Fonte: Claudinei Bettiol https://bettiol.art.br/, 2020. A qualidade e detalhamento de uma imagem estão diretamente relacionados à resolu- ção do monitor, uma vez que monitores de resolução mais elevada são compostos por uma maior quantidade de pixels. A melhoria visual está condicionada à resolução do conteúdo exibido no momento. https://bettiol.art.br/ 4 Álgebra matricial Neste capítulo faremos uma breve história do conceito matemático ligado às matrizes. Além disso, analisaremos as operações algébricas de matrizes no contexto do processa- mento de imagens digitais apresentando sucintamente as definições e operações básicas e sua utilização na manipulação de imagens digitais. Para isso, utilizaremos as referências Anton e Rorres (2012), Eves (2004), Boldrini et al. (1980) e Lima (2014). 4.1 Contexto histórico Dentre as descobertas na matemática, as matrizes é recente, datando de aproximada- mente 175 anos. A designação formal “matrizes” foi inicialmente empregada por James Joseph Sylvester (1814 - 1897) em 1850. Contudo, nessa época, Sylvester não possuía uma compreensão concreta das possíveis aplicações práticas das matrizes, sendo que eram per- cebidas primariamente como meros componentes dos determinantes. Eves (2004) destaca que o matemático inglês Arthur Cayley (1821-1895) foi possivel- mente o primeiro a dedicar-se ao estudo das matrizes em uma comunicação de 1857. No entanto, a ênfase de Cayley residia na análise da forma e da estrutura algébrica das ma- trizes. Foi Cayle quem introduziu conceitos fundamentais, como a adição, a multiplicação entre matrizes e a multiplicação de matrizes por escalares. Para ele, as matrizes eram ligadas a transformações lineares do tipo r = ax + by s = cx + dy (4.1) com a, b, c e d números reais quaisquer. Esses coeficientes podem ser conceitualmente con- cebidos como parâmetros que caracterizam aplicações capazes de transformar um ponto (x, y) em outro ponto (r, s). Evidentemente, a natureza específica da transformação (4.1) é totalmente delineada pelos valores dos quatro coeficientes mencionados, a, b, c e d. Con- sequentemente, essa transformação pode ser adequadamente simbolizada mediante uma matriz matriz quadrada de ordem 2, isto é, 37 Matrizes 38 a b c d  Em 1843, William Hamilton (1805-1865), um matemático irlandês, propôs a Teoria dos Quatérnios. Em contrapartida, Cayley negava o impacto dessa teoria em suas pesquisas. A polêmica começou quando Cayley provou que um quatérnion poderia ser representado como uma matriz. À medida que a teoria das matrizes foi sendo estudada, surgiram diversas aplicações em diversas áreas do conhecimento. Eves (2004, p. 553) enfatiza que “a álgebra tor- nou-se o vocabulário da matemática contemporânea, sendo apelidada de chave-mestra da matemática”. O estudo das matrizes surgiu como uma disciplina importante para o progresso em diversas áreas do conhecimento, em campos como engenharias, medicina, genética, compu- tação gráfica, física e disciplinas afins. A versatilidade e aplicação das matrizes fornecem uma ferramenta matemática poderosa, mostrando ser fundamental na modelagem, análise e resolução de problemas complexos. 4.2 Matrizes Intuitivamente, matrizes podem ser representadas na forma de tabelas com seus ele- mentos dispostos em linhas e colunas. Por exemplo, consideremos a Tabela 1. Tabela 1: Lucro de vendas de doces caseiros. Lucro de venda de doces caseiros Produto Faturamento (Mês) Despesas(Mês) Lucro (Mês) Bolo Caseiro R$ 2.000,00 R$ 500,00 R$ 1500,00 Brigadeiro R$ 750,00 R$ 300,00 R$ 450,00 Pudim R$ 1.250,00 R$ 450,00 R$ 800,00 Fonte: Elaborada pelo autor. Ao representamos na forma de linhas e colunas, obteremos a seguinte matriz:  2000 500 1500 750 300 450 1250 450 800  Definição 4.1. Sejam m e n dois inteiros positivos. Uma matriz A, m por n, sobre o conjunto dos números reais é dada por m × n valores aij ∈ R, com 1 ⩽ i ⩽ m, 1 ⩽ j ⩽ n organizados em m linhas e n colunas, e será representada como: Matrizes 39 A =  a11 a12 . . . a1n a21 a22 . . . a2n ... ... . . . ... am1 am2 . . . amn  Anton e Rorres (2012, p. 26) descrevem que “o tamanho de uma matriz é descrito em termos do número de linhas (fileiras horizontais) e de colunas (fileiras verticais) que ela contém”. Por exemplo, a matriz A =  1 −1 3 4 −3 0 −3 0 0 1 2 −7 0 4 2 −2 3 4 −6  tem quatro linhas e quatro colunas, seu tamanho é 4 por 4 (e escrevemos 4 × 4). Na descrição de tamanho, o primeiro número sempre irá denotar o número de linhas e o segundo, o de colunas. Assim, as matrizes B = [ 1 3 −1 5 ] e C =  1 0 2 −1  têm tamanhos 1 × 4 e 4 × 1, respectivamente. Podemos fazer uso de uma notação mais compacta ao escrever a matriz na forma [aij]m×n ou [aij]. A primeira notação é usada quando é importante trabalhar com o tamanho da matriz, enquanto a segunda, uma vez conhecida a ordem da matriz, a ênfase é no elemento. Por convenção, a letra que denota a matriz será maiúscula enquanto suas entradas são representadas pela mesma letra mas minúscula. Assim, para uma matriz B, é comum utilizar bij para indicar a entrada localizada na posição da linha i e coluna j. Isso facilita a identificação e manipulação específica dos elementos individuais da matriz. Dizemos que a matriz A com n linhas e n colunas é uma matriz quadrada de ordem n e que as entradas destacadas a11, a22, ..., ann constituem a diagonal principal da matriz A. Para as aplicações que veremos neste trabalho, é necessário desenvolver uma aritmética entre as matrizes, isto é, definir as operação de adição, subtração e multiplicação de matrizes. Matrizes 40 4.2.1 Operações aritméticas matriciais Definição 4.2. Duas matrizes são ditas iguais se tiverem o mesmo tamanho e suas en- tradas correspondentes forem iguais. Exemplo 4.3. Consideremos as matrizes A = 1 2 3 4  e B = 1 2 3 x  Se x = 4, então A = B. Para quaisquer outros valores de x, isto é, x ̸= 4, as matrizes A e B não são iguais. Na prática, a igualdade entre duas matrizes A = [aij]m×n e B = [bij]m×n de mesmo tamanho pode ser expressa escrevendo A = B se, e somente se, aij = bij para todo i = 1, . . . , m e j = 1, . . . , n. 4.2.2 Adição e subtração de matrizes Quando empregamos tabelas para representar matrizes, é praticamente inevitável a necessidade de realizar operações matemáticas entre elas. Consideremos, por exemplo, as Tabelas 2 e 3 referentes ao lucro de venda de doces em uma doceria no primeiro e segundo semestre, respectivamente. Tabela 2: Lucro de venda de doces no primeiro semestre Lucro de venda de doces no primeiro semestre Produto Faturamento Despesas Lucro Bolo Caseiro R$ 12.000,00 R$ 3.000,00 R$ 9.000,00 Brigadeiro R$ 4.500,00 R$ 1.800,00 R$ 2.700,00 Pudim R$ 7.500,00 R$ 2.700,00 R$ 4.800,00 Fonte: Elaborada pelo autor. e Tabela 3: Lucro de venda de doces no segundo semestre Lucro de venda de doces no segundo semestre Produto Faturamento Despesas Lucro Bolo Caseiro R$ 12.500,00 R$ 3.250,00 R$ 9.250,00 Brigadeiro R$ 4.750,00 R$ 2.000,00 R$ 2.750,00 Pudim R$ 7.900,00 R$ 2.900,00 R$ 5.000,00 Fonte: Elaborada pelo autor. Matrizes 41 Para obtermos o faturamento, a despesa e o lucro de venda para cada tipo de doce no ano, basta somarmos os elementos correspondentes das matrizes nas duas tabelas.  12000 3000 9000 4500 1800 2700 7500 2700 4800 +  12500 3250 9250 4750 2000 2750 7900 2900 5000  =  24500 6250 18250 9250 3800 5450 15400 5200 9800  Obtemos a Tabela 4. Tabela 4: Lucro de venda de doces anual Lucro de venda de doces anual Produto Faturamento Despesas Lucro Bolo Caseiro R$ 24.500,00 R$ 6.250,00 R$ 18.250,00 Brigadeiro R$ 9.250,00 R$ 3.800,00 R$ 5.450,00 Pudim R$ 15.400,00 R$ 5.200,00 R$ 9.800,00 Fonte: Elaborada pelo autor. Definição 4.4. Sejam A e B matrizes de mesmo tamanho, então a soma A+B é a matriz obtida somando as entradas de A às entradas de mesma posição correspondentes de B. Observamos que matrizes de tamanhos distintos não podem ser somadas ou subtraídas. Denotemos por A ∈ Mm×n(R) o conjunto de todas as matrizes de elementos reais de tamanho m linhas e n colunas. Assim, sejam A = (aij)m×n e B = (bij)m×n duas matrizes quaisquer pertencentes ao conjunto Mm×n(R) . Então, C = A + B ⇔ Cij = (aij) + (bij) = (aij + bij). Teorema 4.5. Sejam A, B, C ∈ Mm×n(R). Valem as seguintes propriedades para a adi- ção: (a) Comutatividade: A + B = B + A (b) Associatividade: (A + B) + C = A + (B + C) (c) Existência do elemento neutro: A + 0 = A (d) Existência do elemento simétrico: A + A′ = 0 Demonstração. (a) Comutatividade: A + B = B + A. Sejam A = (aij) e B = (bij) matrizes quaisquer de Mm×n(R). Então, A + B = (aij + bij) = (bij + aij), pois aij e bij são números reais e a propriedade comutativa é válida. Logo, A + B = B + A. Matrizes 42 (b) Associatividade (A + B) + C = A + (B + C). Sejam A = (aij), B = (bij) e C = (cij) matrizes quaisquer de Mm×n(R). Então, ((A + B) + C)ij = (aij + bij) + cij = aij + (bij + cij) = (A + (B + C))ij pela propriedade associativa dos números reais. Logo, (A + B) + C = A + (B + C). (c) Existência do elemento neutro: A + 0 = A. Seja 0 ∈ Mm×n(R) a matriz nula. Segue que a matriz A + 0 será uma matriz C = (cij), cujos elementos são cij = aij + 0 = aij. Logo, C = (cij) = (aij) = A e portanto A + 0 = A. (d) Existência do elemento simétrico aditivo: A + A′ = 0. Seja a matriz A = (aij) ∈ Mm×n(R). Seja e A′ = (a′ ij) ∈ Mm×n(R) tal que os elementos de A′, a′ ij sejam os elementos simétricos, respectivos, de aij. Então, a matriz A + A′ será a matriz B = (bij) com bij = aij + a′ ij = 0 para todo i = 1, . . . , m e j = 1, . . . , n. Logo, B = A + A′ = 0. 4.2.3 Multiplicação de uma matriz por um escalar Consideremos, por exemplo, a produção mensal de produtos de determinadas fábricas como mostra a Tabela 5. Tabela 5: Produção mensal Produção mensal Fabricas Produto A Produto B Produto C Fabrica 1 802 300 2040 Fabrica 2 1245 504 3207 Fabrica 3 496 171 1001 Fonte: Elaborada pelo autor. Supondo que o número de funcionários, a obtenção de matéria prima e os turnos trabalhados permaneçam constantes durante os meses, é possível realizar uma previsão de produção para o semestre, bastando para isso, multiplicar todos os valores por 6, isto é: 6.  802 300 2040 1245 504 3207 496 171 1001  =  4812 1800 12240 7470 3024 19242 2796 1026 6006  . Os resultados obtidos podem ser organizados na Tabela 6. Matrizes 43 Tabela 6: Produção semestral Produção semestral Fabricas Produto A Produto B Produto C Fabrica 1 4812 1800 12240 Fabrica 2 7470 3024 19242 Fabrica 3 2796 1026 6006 Fonte: Elaborada pelo autor. Definição 4.6. Se A é uma matriz e α um escalar, então o produto αA é a matriz obtida pela multiplicação de cada entrada da matriz A por α. Dizemos que a matriz αA é um múltiplo escalar de A. Em notação matricial, se A = (aij), então (cA)ij = c(aij) = (caij). Observamos também que Ac = ((Ac)ij) = (aijc) também está bem definido. Teorema 4.7. Sejam α e β ∈ R escalares quaisquer. Sejam A, B ∈ Mm×n(R). Então, valem as seguintes propriedades para o produto de uma matriz por um escalar. (a) Associatividade: (αβ)A = α(βA) (b) Comutatividade: αA = Aα. (c) Distributividade: α(A + B) = αA + αB (d) 1A = A. Demonstração. (a) Associatividade: (αβ)A = α(βA) Sejam α e β escalares reais. Seja A = (aij)Mm×n(R)) uma matriz qualquer. As- sim, ((αβ)A)ij = (αβ)aij, como α, β e aij são números reais, a propriedade associ- ativa da multiplicação é válida. Assim, (αβ)aij = α(βaij) = (α(βA))ij e portanto (αβ)A = α(βA). (b) Comutatividade: αA = Aα. De fato, (αA)ij = αaij. Como α e aij são números reais, a comutatividade é satisfeita e αaij = aijα. Logo, αA = Aα. (c) Distributividade: α(A + B) = αA + αB Sejam α um escalar real e A = (aij) e B = (bij) ∈ Mm×n(R). Assim, α(A + B) = (α(aij + bij)). Como α, aij e bij são números reais, a propriedade distributiva da multiplicação é válida. Assim, α(aij + bij) = αaij + αbij = (αA + αB)ij. Logo, α(A + B) = αA + αB. (d) 1A = A. Seja A = (aij) ∈ Mm×n(R) qualquer. Segue que, (1A)ij = 1aij = aij. Logo, 1A = A. Matrizes 44 4.2.4 Multiplicação de matrizes Consideremos a linha de produção em uma fábrica que produz três tipos de produtos: camisetas, calças e sapatos. Cada um desses produtos passa por diferentes etapas de produção como: corte de tecido, costura e acabamento. As horas necessárias para cada produto em cada etapa estão organizadas na Tabela 7. Tabela 7: Tempo para produção Tempo para produção (em horas) Camisetas Calças Sapatos Corte de tecido 2 3 1 Costura 1 2 4 Acabamento 3 2 2 Fonte: Elaborada pelo autor. Isso significa que, por exemplo, para produzir uma camiseta são necessárias 2 horas de corte, 1 hora de costura e 3 horas de acabamento. Para produzir uma calça são necessárias 3 horas de corte, 2 horas de costura e 2 horas de acabamento. Por fim, para produzir um par de sapatos são necessárias 1 hora de corte, 4 horas de costura e 2 horas de acabamento. Associamos à Tabela 7 a matriz  2 3 1 1 2 4 3 2 2  . Podemos perguntar: quanto tempo cada etapa de produção será necessário para pro- duzir 5 camisetas, 3 calças e 4 pares de sapatos? Isso pode ser representado pela matriz 5 3 4  . Para responder a pergunta, é necessário calcular o tempo total para produzir a quan- tidade solicitada de cada produto em cada etapa da produção. Neste sentido, devemos multiplicar cada coluna da matriz de horas pelas respectivas quantidades, ou multiplica- mos as matrizes da seguinte maneira: 2 3 1 1 2 4 3 2 2  .  5 3 4  =  5 × 2 + 3 × 3 + 4 × 1 = 23 5 × 1 + 3 × 2 + 4 × 4 = 27 5 × 3 + 3 × 2 + 4 × 2 = 29  . Isso significa que seriam necessárias 23 horas na etapa de corte, 27 horas na etapa de Matrizes 45 costura e 29 horas na etapa de acabamento para produzir as quantidades desejadas de cada produto. Definição 4.8. Se A for uma matriz m × r e B uma matriz r × n, então o produto AB é a matriz m × n cujas entradas são determinadas como segue. Para obter a entrada na linha i e coluna j de AB, destacamos a linha i de A e a coluna j de B. Multiplicamos as entradas correspondentes da linha e da coluna e então somamos os produtos resultantes, isto é, (AB)ij = r∑ k=1 aikbkj, para i = 1, . . . , m e j = 1, . . . , n. Teorema 4.9. Supondo que os tamanhos das matrizes sejam tais que as operações indi- cadas possam ser efetuadas, valem as seguintes propriedades para o produto de matrizes. (a) Associatividade: (AB)C = A(BC). (b) Distributividade: (A + B)C = AC + BC ou C(A + B) = CA + CB Demonstração. (a) Associatividade: (AB)C = A(BC) Sejam A = (aij)m×r, B = (bjk)r×p e C = (ckl)p×n. Pela definição segue que, AB = D = (dik)m×p com dik = ai1b1k + ai2b2k + . . . + airbrk = r∑ j=1 aijbjk. Multiplicando D por C, isto é, (AB) por C, o elemento na i-ésima linha e l-ésima coluna da matriz (AB)C é: ((AB)C)il = di1c1l + di2c2l + . . . + dipcpl = p∑ k=1 dikckl = p∑ k=1 r∑ j=1 (aijbjk)ckl Por outro lado, segue da definição que BC = F = (fjl)r×n com fjl = bj1c1l + bj2c2l + . . . + bjpcpl = p∑ k=1 bjkckl. Multiplicando A por F , isto é, A por BC, o elemento na i-ésima linha e l-ésima coluna da matriz A(BC) é: (A(BC))il = ai1f1l + ai2f2l + . . . + aimfml = r∑ j=1 aijfjl = r∑ j=1 p∑ k=1 aij(bjkckl). Como as somas são iguais, segue que (AB)C = A(BC). Matrizes 46 (b) Distributiva: (A + B)C = AC + BC ou C(A + B) = CA + CB Sejam as matrizes A = (aik)m×r, B = (bik)m×r e C = (ckj)r×n. Segue pela definição de adição que A + B = D = (dik)m×r = (aik + bik)m×r, Multiplicando pela matriz C temos que ((A + B)C)ij = r∑ k=1 dikckj = r∑ k=1 (aik + bik)ckj = r∑ k=1 aikckj + r∑ k=1 bikckj. Por outro lado, (AC)ij = ai1c1j + ai2c2j + . . . + aircrj = r∑ k=1 aikckl e (BC)ij = bi1c1j + bi2c2j + . . . + bircrj = r∑ k=1 bikckj Logo, (A + B)C = AC + BC. Para a distributividade à esquerda, a construção da demonstração é análoga. Lima (2014, p. 235) mostra que existem cinco propriedades que satisfazem o produto entre números, mas não satisfazem o produto entre matrizes. São elas: (1) A multiplicação de duas matrizes só é possível quando o número de colunas da primeira matriz é igual ao número de linhas da segunda matriz. Do contrário, o produto não estará definido. Ver Definição 4.8. (2) O produto de matrizes AB não é comutativo. Mesmo que AB e BA existam, não se tem necessariamente AB = BA. Exemplo 4.10. Consideremos as matrizes A = 1 2 3 4  e B = 2 5 1 0 . O produto AB é dado por AB = 1 2 3 4 2 5 1 0  =  4 5 10 15  . Por outro lado, BA = 2 5 1 0 1 2 3 4  = 17 24 1 2  . Observamos que AB ̸= BA. (3) O produto de duas matrizes não-nulas pode ser a matriz nula, isto é, A ̸= 0 e B ̸= 0 não implica em AB ̸= 0. Matrizes 47 Exemplo 4.11. Seja A =  1 1 −1 1 1 −1 2 2 −2  matriz não-nula. No entanto, AA = A2 =  1 1 −1 1 1 −1 2 2 −2   1 1 −1 1 1 −1 2 2 −2  =  0 0 0 0 0 0 0 0 0  . (4) Todo número real não-nulo possui o inverso multiplicativo, isto é, dado α ∈ R − {0}, existe α−1 ∈ R − {0} tal que α−1.α = α.α−1 = 1. No caso das matrizes, se considerarmos a matriz quadrada A não nula, temos que nem sempre existirá uma matriz quadrada A′ tal que AA′ = A′A = In. Quando uma tal matriz A′ existe, a matriz A se diz invertível e A′ chama-se a matriz inversa de A. Assim A′ = A−1. (5) A lei do cancelamento para o produto de matrizes não vale. Sejam as matrizes A = 0 1 0 2  , B = 1 1 3 4  e C = 2 5 3 4  . Verificamos que, AB = AC = 3 4 6 8  . Contudo, B ̸= C. Logo, a lei do cancelamento não é válida para a multiplicação. 4.2.5 Matriz transposta Consideremos uma tabela onde listamos as informações sobre as vendas de uma loja. Cada coluna registra uma venda específica, e cada linha apresenta um aspecto da venda, como o número do pedido, o produto vendido, o valor da venda e a data da transação. Por exemplo, consideremos a Tabela 8. Tabela 8: Vendas Vendas Número do pedido 101 101 103 Produto Camiseta Tênis Calça Jeans Valor da venda R$60,00 R$150,00 R$100,00 Data da transação 01/03/2024 05/03/2024 05/03/2024 Fonte: Elaborada pelo autor. Matrizes 48 Na Tabela 8 cada linha representa o atributo da venda e cada coluna representa a venda. Se quisermos transpor essa planilha para que cada linha represente a venda e cada coluna represente o atributo da venda, obteremos uma visão diferente dos dados. Isso pode ser útil para análises específicas ou para criar relatórios diferentes. A transposição dessa matriz resultaria na Tabela 9. Tabela 9: Transposição da tabela de vendas Vendas Número do pedido Produto Valor da venda Data da transação 101 Camiseta R$60,00 01/03/2024 102 Tênis R$150,00 05/03/2024 103 Calça Jeans R$100,00 05/03/2024 Fonte: Elaborada pelo autor. Definição 4.12. Se A ∈ Mm×n(R) qualquer, então a transposta de A, denotada por AT , é definida como a matriz n × m que resulta de troca de linhas com as colunas de A. Simbolicamente, (AT )ij = (A)ji para i = 1, . . . m e j = 1, . . . , n. Teorema 4.13. Se os tamanhos das matrizes são tais que as operações indicadas podem ser efetuada, então (a) (AT )T = A. (b) (A + B)T = AT + BT . (c) (A − B)T = AT − BT . (d) (αA)T = αAT . (e) (AB)T = BT AT . Demonstração. (a) Uma vez que essa propriedade é resumida na troca alternada de linhas e colunas duas vezes, resulta-se em uma matriz inalterada. Os itens (b) e (c) asseguram que somar ou subtrair duas matrizes, seguida pela troca alternada entre linhas e colunas, produz o mesmo resultado que a troca prévia entre linhas e colunas, seguida pela soma ou subtração. Matrizes 49 (d) Garante que a multiplicação de uma matriz por um escalar, seguida pela troca al- ternada entre linhas e colunas, resulta no mesmo que a troca prévia entre linhas e colunas, seguida pela multiplicação pelo escalar. (e) (AB)T = BT AT . Sejam as matrizes A = (aik)m×r e B = (bkj)r×n. Assim, (AB)ij = ( r∑ k=1 aikbkj) e ((AB)T )ij = (AB)ji = r∑ k=1 ajkbki = r∑ k=1 bkiajk. Por outro lado, (BT AT )ij = (bki)n×r(ajk)r×m = r∑ k=1 bkiajk. Portanto, (AB)T = BT AT . 5 Imagens digitais no GNU Octave De acordo com a seção 3.4.1, uma imagem digital em formato de bitmap é representada como uma função codificadora de números, dispostos ordenadamente em linhas e colunas, no computador, ou seja, uma matriz Am×n que, associada cada elemento aij a um valor natural para a codificação da tonalidade ou cor de uma imagem qualquer. Há muitas funções e ferramentas no programa GNU Octave para trabalhar com ima- gem digital. No que diz respeito à leitura e exibição das imagens o programa carrega formatos como JPEG, PNG e BMP. É possível proceder à operações básicas de trata- mento de imagem, como redimensionamento, multiplicação da imagem por um escalar, rotação, inversão, corte, reflexão, realce, entre outras funcionalidades que serão tratadas neste capítulo. Para tal, usaremos as referências, Eaton et al. (2021), Anton e Rorres (2012) e Boldrini et al. (1980). 5.1 Algumas manipulações de imagens digitais A Figura 16 mostra que é possível exibir as imagens em tons de vermelho, verde e azul separadamente zerando os demais canais. Para exibir a imagem apenas com tons de vermelho, é necessário zerar os canais verde e azul. Da mesma forma, para os tons de verde, deve-se zerar os canais vermelho e azul. Para os tons de azul, é necessário zerar os canais vermelho e verde. A seguir, mostramos a sequência de comandos no GNU Octave para obter as respectivas manipulações na imagem digital5. >> # Carregue a imagem original >> b = imread (’Da Pedra ao Pó.jpg ’); >> # Separe os canais de cor >> red_channel = b(: ,: ,1); # Canal Vermelho >> green_channel = b(: ,: ,2); # Canal Verde >> blue_channel = b(: ,: ,3); # Canal Azul >> # Crie imagens separadas para cada canal >> red_image = cat (3, red_channel , zeros(size( green_channel )), zeros( size( blue_channel ))); 5Disponível em https://github.com/jmbettiol/Manipula-o-de-imagens.git. 50 https://github.com/jmbettiol/Manipula-o-de-imagens.git Algumas manipulações de imagens digitais 51 >> green_image = cat (3, zeros(size( red_channel )), green_channel , zeros( size( blue_channel ))); >> blue_image = cat (3, zeros(size( red_channel )), zeros(size( green_channel )), blue_channel ); >> # Exiba cada imagem separadamente >> subplot (1 ,3 ,1); >> imshow ( red_image ); >> title(’Tons de Vermelho ’); >> subplot (1 ,3 ,2); >> imshow ( green_image ); >> title(’Tons de Verde ’); >> subplot (1 ,3 ,3); >> imshow ( blue_image ); >> title(’Tons de Azul ’); Figura 16: Canais de cores da obra “Da pedra ao pó” de 2023. Fonte: Elaborada pelo autor a partir da obra de Claudinei Bettiol https://bettiol.art.br/. Além disso, ao zerar apenas um dos canais, é possível obter diferentes efeitos sobre a imagem, como mostra a Figura 17. Neste sentido, são executados os seguintes comandos6: >> # Carregue a imagem original >> d = imread (’Animais .jpg ’); >> # Remova o canal vermelho e crie a primeira imagem >> img_sem_vermelho = d; >> img_sem_vermelho (: ,: ,1) = 0; >> # Remova o canal verde e crie a segunda imagem >> img_sem_verde = d; >> img_sem_verde (: ,: ,2) = 0; >> # Remova o canal azul e crie a terceira imagem >> img_sem_azul = d; >> img_sem_azul (: ,: ,3) = 0; > # Exiba as três imagens 6Disponível em https://github.com/jmbettiol/Manipula-o-de-imagens.git. https://bettiol.art.br/ https://github.com/jmbettiol/Manipula-o-de-imagens.git Algumas manipulações de imagens digitais 52 >> subplot (1 ,3 ,1); >> imshow ( img_sem_vermelho ); >> title(’Sem Vermelho ’); >> subplot (1 ,3 ,2); >> imshow ( img_sem_verde ); >> title(’Sem Verde ’); >> subplot (1 ,3 ,3); >> imshow ( img_sem_azul ); >> title(’Sem Azul ’); Figura 17: Ausência de cores da obra “Animais” de 2012. Fonte: Elaborada pelo autor a partir da obra de Claudinei Bettiol https://bettiol.art.br/. Outra técnica interessante é exibir o complementar de cores de uma dada imagem. Cada pixel varia no intervalo de 0 a 255. No entanto, é possível normalizar cada pixel para o intervalo real de 0 a 1 e, em seguida, subtrair esse valor de 1. Isso resulta na geração da chamada imagem complementar como mostra a Figura 187. >> # Carregue a imagem original >> c = imread (’Almas.jpg ’); >> # Normalizando a imagem >> C = im2double (c); >> # Separe os canais de cor >> R = c(: ,: ,1); # Canal Vermelho >> G = c(: ,: ,2); # Canal Verde >> B = c(: ,: ,3); # Canal Azul >> # Inverter os canais de cores >> R_complementar = 1 - R; >> G_complementar = 1 - G; >> B_complementar = 1 - B; >> # Concatenar os canais de cores invertidos >> imagem_complementar = cat (3, R_complementar , G_complementar , B_complementar ); 7Disponível em https://github.com/jmbettiol/Manipula-o-de-imagens.git. https://bettiol.art.br/ https://github.com/jmbettiol/Manipula-o-de-imagens.git A multiplicação de matrizes por escalar e imagens digitais 53 >> imshow ( imagem_complementar ) Figura 18: Complementar de cores da obra “Pequenas Almas - Imaginário Infantil” de 2006. Fonte: Elaborada pelo autor a partir da obra de Claudinei Bettiol https://bettiol.art.br/. Observamos que, ao realizar o mesmo procedimento com a “imagem_inversa” teremos como resultado a imagem original. Isto é, o complementar das cores complementares é a cor original. 5.2 A multiplicação de matrizes por escalar e ima- gens digitais Na seção 4.2.3 apresentamos uma motivação sobre o produto de uma matriz por um escalar. Podemos interpretar esse conceito no contexto da manipulação de imagens como um dos efeitos observados em fotografias capturadas por câmeras de um aparelho celular. Um exemplo disso é a capacidade de modificar os componentes de cor de uma dada imagem, aumentando ou diminuindo as intensidades de vermelho, verde ou azul. Isso pode ser feito através da multiplicação das respectivas matrizes associadas a cada um dos canais de cores por um fator escalar arbitrário. Ao aplicarmos tal procedimento amplificamos ou atenuamos a intensidade de cada tonalidade, proporcionando um efeito visual distinto. Especificamente, ao aumentar o valor de cada tom em diferentes porcentagens, podemos obter resultados que alteram significativamente a aparência da imagem resultante. As Figuras 19, 20 e 21 demonstram o efeito obtido ao aumentar cada tom em 15%, 50% e 90%, respectivamente. Isso é feito através dos comandos: https://bettiol.art.br/ A multiplicação de matrizes por escalar e imagens digitais 54 >> # Carregue a imagem original >> e = imread (’Sonhos da Lua.PNG ’); >> # Extraia o canal vermelho >> red_channel = e(: ,: ,1); # Canal Vermelho >> # Aumente o tom de vermelho em 15%, 50% e 90% >> red_channel_15 = red_channel * 1.15; >> red_channel_50 = red_channel * 1.5; >> red_channel_90 = red_channel * 1.9; >> # Garanta que os valores estejam no intervalo de 0 a 255 >> red_channel_15 ( red_channel_15 > 255) = 255; >> red_channel_50 ( red_channel_50 > 255) = 255; >> red_channel_90 ( red_channel_90 > 255) = 255; >> # Crie uma figura e plote as três imagens >> figure ; >> subplot (1 ,3 ,1); >> imshow (cat (3, red_channel_15 , img_original (: ,: ,2) , img_original (: ,: ,3))); >> title(’Aumento de 15% no Tom de Vermelho ’); >> subplot (1 ,3 ,2); >> imshow (cat (3, red_channel_50 , img_original (: ,: ,2) , img_original (: ,: ,3))); >> title(’Aumento de 50% no Tom de Vermelho ’); >> subplot (1 ,3 ,3); >> imshow (cat (3, red_channel_90 , img_original (: ,: ,2) , img_original (: ,: ,3))); >> title(’Aumento de 90% no Tom de Vermelho ’); Repetimos os mesmos passos para os canais (:, :, 2) e (:, :, 3) para obter o mesmo efeito para tons de verde e azul, respectivamente 8. Figura 19: Aumento dos tons de vermelho da obra “Sonhos da Lua” de 2014. Fonte: Adaptada pelo autor a partir da obra de Claudinei Bettiol https://bettiol.art.br/. 8Disponível em https://github.com/jmbettiol/Manipula-o-de-imagens.git. https://bettiol.art.br/ https://github.com/jmbettiol/Manipula-o-de-imagens.git A adição de matrizes e imagens digitais 55 Figura 20: Aumento dos tons de verde da obra “Sonhos da Lua” de 2014. Fonte: Adaptada pelo autor a partir da obra de Claudinei Bettiol https://bettiol.art.br/. Figura 21: Aumento dos tons de azul da obra “Sonhos da Lua” de 2014. Fonte: Claudinei Bettiol https://bettiol.art.br/. 5.3 A adição de matrizes e imagens digitais No contexto da soma é possível dividir uma imagem ao meio definindo duas novas ima- gens. Somar as duas matrizes correspondentes às imagens estaremos não só sobrepondo as imagens como também somando as cores correspondentes em cada um dos pixels. Para compreendermos melhor esse efeito, usaremos a obra exibida na Figura 22. https://bettiol.art.br/ https://bettiol.art.br/ A adição de matrizes e imagens digitais 56 Figura 22: Obra Experiência (Kambô) de 2020. Fonte: Claudinei Bettiol https://bettiol.art.br/. Neste exemplo, temos uma imagem quadrada de tamanho 900×900 pixels. Definimos duas matrizes associadas a cada uma das metades (esquerda e direita) da imagem original. Primeiramente, dividindo a imagem e exibindo o lado esquerdo: >> # Carregue a imagem >> f = imread (’Experi ência (Kambô) 900 x900 - 2020. png ’); >> # Divida os canais pela metade e selecione a metade do lado esquerdo >> R_F = f(:, 1:450 , 1); # canal vermelho >> G_F = f(:, 1:450 , 2); # canal verde >> B_F = f(:, 1:450 , 3); # canal azul >> # Junte os três canais >> M_esq = cat (3, R_F , G_F , B_F); >> imshow (M_esq) A metade da esquerda é exibida na Figura 23. Figura 23: Metade esquerda da obra Experiência (Kambô) de 2020. Fonte: Elaborada pelo autor utilizando o GNU Octave a partir da Figura 22. https://bettiol.art.br/ A adição de matrizes e imagens digitais 57 Em seguida, dividimos a imagem e exibimos o lado direito: >> # Divida os canais pela metade e selecione a metade do lado direito >> R_F = f(:, 451:900 , 1); >> G_F = f(:, 451:900 , 2); >> B_F = f(:, 451:900 , 3); >> # Junte os três canais >> M_dir = cat (3, R_F , G_F , B_F); >> imshow (M_dir) A metade da direita é exibida na Figura 24. Figura 24: Metade direita da obra Experiência (Kambô) de 2020. Fonte: Elaborada pelo autor utilizando o GNU Octave a partir da Figura 22. Somamos as duas imagens: >> S = M_esq + M_dir; >> imshow (S) O resultado é mostrado na Figura 25. Figura 25: Soma de duas metades da obra Experiência (Kambô) de 2020. Fonte: Elaborada pelo autor utilizando o GNU Octave a partir da Figura 22. A subtração de matrizes e imagens digitais 58 Ao dividirmos a matriz associada a imagem 900 × 900, definimos uma nova imagem 900 × 450. Como dissemos anteriormente, não só temos o efeito de sobreposição das imagens como também somamos as tonalidades de cores em cada um dos pixels. Cabe ressaltar que a cor preta nas imagens correspondem à ausência de cor, enquanto que o branco corresponde a presença total das cores vermelho, verde e azul9. 5.4 A subtração de matrizes e imagens digitais Para exemplificar a operação de subtração de matrizes aplicada à manipulação de imagens digitais utilizaremos a obra exibida na Figura 26 de tamanho 3000 × 3000. Figura 26: A louva a Deus obra de 2023. Fonte: Claudinei Bettiol https://bettiol.art.br/. Neste exemplo, vamos criar uma nova imagem, contendo apenas algumas partes (re- giões) da Figura 26, retirando uma faixa central vertical e outra horizontal. Para isso, definimos uma nova imagem do mesmo tamanho à original, zerando as linhas 1001 a 2000 e as colunas 1001 a 2000. Isso é feito no GNU Octave através da sequência de comandos: >> # Carregue a imagem >> a = imread (’A Louva-a-Deus 3000 x3000.jpg ’); >> # Verifique o tamanho da imagem >> size(a) ans = 3000 3000 3 >> # Zerando as linhas 1001 a 2000 e as colunas 1001 a 2000 >> # zerando as linhas >> a (1001:2000 , :, 1) = 0; >> a (1001:2000 , :, 2) = 0; >> a (1001:2000 , :, 3) = 0; 9Disponível em https://github.com/jmbettiol/Manipula-o-de-imagens.git. https://bettiol.art.br/ https://github.com/jmbettiol/Manipula-o-de-imagens.git A subtração de matrizes e imagens digitais 59 >> # zerando as colunas >> a(:, 1001:2000 , 1) = 0; >> a(:, 1001:2000 , 2) = 0; >> a(:, 1001:2000 , 3) = 0; E exibimos a nova imagem (Figura 27): >> # exibindo a nova imagem (a) >> imshow (a) Figura 27: Imagem da obra alterada. Fonte: Elaborada pelo autor utilizando o GNU Octave a partir da Figura 26. Para subtrairmos a imagem da Figura 26 da imagem da Figura 27 executamos: >> # Agora , alocamos na variável b a imagem original >> b = imread (’A Louva-a-Deus 3000 x3000.jpg ’); >> # Subtra ção de (b) por (a) A = b-a; >> imshow (A) # Exibe a nova imagem Como resultado obtemos a Figura 28 A subtração de matrizes e imagens digitais 60 Figura 28: Subtração de imagens. Fonte: Elaborada pelo autor utilizando o GNU Octave a partir da Figura 26. Uma alternativa para se trabalhar com subtração de imagens é usando o comando for no GNU Octave. Para a aplicação deste comando utilizaremos a obra exibida na Figura 29. Figura 29: Luz obra de 2016. Fonte: Claudinei Bettiol https://bettiol.art.br/. O comando for é usado para definir estruturas de controle de fluxo que permitem repetir um bloco de código várias vezes. Em particular, o comando for no GNU Octave é utilizado para iterar sobre uma sequência de valores, executando um bloco de código uma vez para cada valor na sequência. Neste exemplo, os valores da diagonal principal são zerados inicialmente. Em seguida, uma estrutura de repetição utilizando o comando for é utilizada para realizar o mesmo procedimento para todas as “diagonais” (transversais) localizadas acima da diagonal prin- https://bettiol.art.br/ A subtração de matrizes e imagens digitais 61 cipal da matriz 10. >> # Carregue a imagem >> x = imread (’Luz-900 x900-2016. jpg ’); >> size(a) ans = 900 900 3 >> #loop sobre as linhas >> for i = 1:900 #loop sobre as colunas for j = i:900 # Zerando os elementos acima da diagonal principal (R, G, B) x(i, j, :) = 0; end end >> # Agora , substitua o nome da imagem original de (x) por (y) >> y = imread (’Luz-900 x900-2016. jpg ’); >> # Realize a subtra ção de (y) por (x) Z = y-x; >> Exiba a nova imagem >> imshow (Z) Todo o processo é mostrado na Figura 30. Figura 30: Subtração de imagens utlizando o comando for. Fonte: Elaborada pelo autor utilizando o GNU Octave a partir da Figura 29. Um outro exemplo é subtrair uma região circular central de uma dada imagem. Para essa aplicação faremos uso da obra exibida na Figura 31. 10Disponível em https://github.com/jmbettiol/Manipula-o-de-imagens.git. https://github.com/jmbettiol/Manipula-o-de-imagens.git A subtração de matrizes e imagens digitais 62 Figura 31: Reencontro com o lúdico Fonte: Claudinei Bettiol https://bettiol.art.br/, 2023. Primeiramente, faremos o recorte de um círculo da imagem, zerando todos os pixels. Em seguida, faremos a diferença entre a imagem original e a imagem recortada. O pro- cedimento no GNU Octave será: >> # Carregar a imagem >> t = imread (’reencontro com o ludico -3000 x3000-2023. jpg ’); >> # Verificar o tamanho da imagem >> size(t) ans = 3000 3000 3 >> # Definir o tamanho da imagem >> tamanho_imagem = 3000; >> # Definir raio da circunfer ência >> raio = 1000; >> # Gerar coordenadas x e y >> [ x, y ] = meshgrid (1: tamanho_imagem , 1: tamanho_imagem ); >> # Calcular distância de cada ponto ao centro >> circunferencia = (x - tamanho_imagem /2) .^2 + (y - tamanho_imagem /2) .^2 - raio ^2; >> # Zerar os pixels dentro do raio para cada canal de cor >> imagem = t; >> for canal = 1:3 canal_cor = t(:,:, canal); canal_cor ( circunferencia <= 0) = 0; imagem (:,:, canal) = canal_cor ; end >> # Exibir a imagem >> imshow ( imagem ); >> Realize a subtra ção de (t) por ( imagem ) V = t-( imagem ); >> Exiba a nova imagem https://bettiol.art.br/ Transição imagens digitais 63 >> imshow (V) O processo é mostrado na Figura 32. Figura 32: Reencontro com o lúdico obra de 2023. Fonte: Claudinei Bettiol https://bettiol.art.br/. 5.5 Transição imagens digitais As operações elementares podem criar o efeito de transição de imagens. Para isso, precisamos de duas imagens coloridas e de mesmo tamanho representadas pelas matrizes A e B. Este método de transição também é conhecido como combinação convexa. A matriz M irá representar a imagem resultante e será dada por: M(x) = (1 − x)A + xB com x ∈ [0, 1]. A função M é uma forma de combinação convexa. A interpolação linear é uma técnica que estima valores dentro do intervalo entre dois pontos. No contexto das imagens, esses “pontos” são duas imagens. A combinação ponderada se dá pela combinação de duas imagens de forma ponderada. O termo (1 − x)A reduz a influência de A à medida que x aumenta, enquanto o termo xB aumenta a influência de B. No meio do processo acontece a transição suave à medida que x varia de 0 a 1, a função M gera uma série de imagens intermediárias que criam uma transição contínua de A para B. É fácil verificar que quando x = 0, M(0) = A e quando x = 1, M(1) = B. Para ilustrar essa operação, utilizaremos as obras “Diana Morrendo” (Figura 33a) e “Luz da Floresta - IX” (Figura 33b). https://bettiol.art.br/ Transição imagens digitais 64 Figura 33: Efeito de transição entre imagens. (a) Diana Morrendo obra de 2004. (b) Luz da Floresta - IX obra de 2009. Fonte: Claudinei Bettiol https://bettiol.art.br/. Para processo de transição executamos os seguintes comandos no GNU Octave: >> # Carregue as imagens . >> A = imread (’Diana morrendo 2004 900 x600.jpg ’); >> B = imread (’Floresta 900 x600.jpg ’); >> function M = transicao (A, B, x) M = (1 - x) * A + x * B; end # Verifique o tamanho das imagens >> size(A) ans = 600 900 3 >> size(B) ans = 600 900 3 >> # Defina a função M. >> function M = transicao (A, B, x) M = (1 - x) * A + x * B; end >> # parâmetro = 0 >> imshow ( transicao (A,B ,0)) >> # parâmetro = 0.25 >> imshow ( transicao (A,B ,0.25) ) >> # parâmetro = 0.5 >> imshow ( transicao (A,B ,0.5)) >> # parâmetro = 0.75 >> imshow ( transicao (A,B ,0.75) ) >> # parâmetro = 1 >> imshow ( transicao (A,B ,1)) As imagens resultantes para os valores escolhidos x = 0; 0, 25; 0, 5; 0, 75 e 1 são exibidas na Figura 34 de (a) a (e) respectivamente11. 11Disponível em https://github.com/jmbettiol/Manipula-o-de-imagens.git. https://bettiol.art.br/ https://github.com/jmbettiol/Manipula-o-de-imagens.git Transposição de imagens digitais 65 Figura 34: Transição de imagens (a) x = 0 (b) x = 0, 25 (c) x = 0, 50 (d) x = 0, 75 (e) x = 1, 0 Fonte: Elaborada pelo autor utilizando o GNU Octave a partir das Figuras 33a e 33b. 5.6 Transposição de imagens digitais A transposição de matrizes causa a composição de dois efeitos nas imagens digitais. Temos o efeito de rotação de 90 graus no sentido horário da imagem seguido de uma reflexão. A reflexão aqui é vista como a imagem formada em um espelho, pois ela aparecerá invertida. Isso ocorre porque, ao trocar as linhas pelas colunas, a forma de percorrer a imagem fica invertida. Neste exemplo faremos uso da obra “Faces-Internas. O Suicida, o artista e o Louco” e basta executar os seguintes comandos no GNU Octave: >> # Carregue a imagem >> b = imread (’Faces- Internas ...-O- Suicida -O- Artista -e-o-Louco.jpg ’); >> # Separe os três canais >> R = b(:, :, 1); # Canal vermelho >> G = b(:, :, 2); # Canal verde Transposição de imagens digitais 66 >> B = b(:, :, 3); # Canal azul >> # Realize a transposi ção dos três canais de forma individual >> R’; >> G’; >> B’; >> # Junte as três transposi ções >> T = cat (3, R’, G’, B’); >> # Exiba a imagem >> imshow (T) A Figura 35 mostra a imagem original e a imagem transposta12. Figura 35: Transposição da obra “Faces-Internas. O Suicida, o artista e o Louco” de 2004. Fonte: Elaborada pelo autor utilizando o GNU Octave a partir da obra de Claudinei Bettiol https://bettiol.art.br/. 12Disponível em https://github.com/jmbettiol/Manipula-o-de-imagens.git. https://bettiol.art.br/ https://github.com/jmbettiol/Manipula-o-de-imagens.git 6 Transformações lineares por matrizes e aplicações à imagens digitais Neste capítulo trataremos das transformações lineares. Iremos explorar não apenas a definição de transformações lineares, mas também as diversas classes e operações fun- damentais associadas a elas. Supomos um conhecimento prévio sobre espaços vetoriais, com referência ao livro de Anton e Rorres (2012, p.171-179). Além disso, abordaremos as implicações dessas transformações no processamento de imagens digitais, com o objetivo de mostrar algumas aplicações específicas na manipulação de imagens digitais. Nesse sen- tido, utilizaremos as referências, Anton e Rorres (2012), Eves (2004), Eaton et al. (2021), Boldrini et al. (1980) e Lima (2014). 6.1 Transformações Lineares Definição 6.1. Sejam U e V dois espaços vetoriais sobre o corpo R . Uma transformação linear é uma função de U em V denotada por T : U −→ V , que satisfaz as condições: (a) T (u + v) = T (u) + T (v) para qualquer u e v ∈ U , (b) T (kv) = kT (v) para qualquer k ∈ R e v ∈ U . Intuitivamente, uma transformação linear é uma função que preserva as operações de adição e multiplicação por escalar dos espaços vetoriais. Teorema 6.2. Sejam U e V espaços vetoriais sobre o corpo R e seja k ∈ R. Então a função T : U −→ V é uma transformação linear se, e somente se, T (ku + v) = kT (u) + T (v), para todos u, v ∈ U e para todo k ∈ R. Demonstração. [⇒] Suponhamos que T seja uma transformação linear, isto é, T satisfaz as seguintes propriedades: 67 Transformações Lineares 68 (a) Aditividade: T (u + v) = T (u) + T (v) para todos u, v ∈ U . (b) Homogeneidade: T (ku) = kT (u) para todo u ∈ U e k ∈ R. Queremos mostrar que, sob essas condições, T (ku+v) = kT (u)+T (v) para todos u, v ∈ U e k ∈ R. De fato, sejam u, v ∈ U e k ∈ R. Usando a propriedade de aditividade de T , temos: T (ku + v) = T ((ku) + v) = T (ku) + T (v). Aplicando a homogeneidade de T ao termo T (ku), obtemos: T (ku) = kT (u). Substituindo temos: T (ku + v) = kT (u) + T (v). [⇐] Suponhamos que T (ku + v) = kT (u) + T (v). A prova de que T é linear será direta, pois T (ku + v) = kT (u) + T (v) satifaz as propriedades de adição e homogeneidade. Teorema 6.3. Sejam U e V espaços vetoriais e seja α ∈ R. Se T : U −→ V é uma transformação linear então: (a) T (0U) = 0V , onde 0U e 0V são os vetores nulos de U e V , respectivamente. (b) T (−u) = −T (u), para todo u ∈ U (c) T ( m∑ k=1 αiui ) = m∑ k=1 αiT (ui), para todos αi ∈ R e ui ∈ U com i = 1, . . . , m. Demonstração. (a) Consideremos u = 0U , o vetor nulo em U e k = 0, o escalar zero. Aplicando a propriedade de homogeneidade temos que T (0U) = T (0 · 0U) = 0 · T (0U) = 0V . onde 0V é o vetor nulo em V . (b) Sabemos que −u = (−1)u para u ∈ U . Assim, T (−u) = T ((−1)u) = (−1)T (u) = −T (u). (c) Sejam αi ∈ R e ui ∈ U para i = 1, . . . , m vetores quaisquer de U . Aplicando a propriedade de aditividade a uma combinação linear de vetores temos que T (α1u1 + α2u2 + · · · + αmum) = T (α1u1) + T (α2u2) + · · · + T (αmum). Transformações no plano: reflexão 69 Usando a propriedade de homogeneidade para cada termo (T (αiui) = αiT (ui)) segue que: T (α1u1 + α2u2 + · · · + αmum) = α1T (u1) + α2T (u2) + · · · + αmT (um) ou, equivalente, T ( m∑ i=1 αiui ) = m∑ i=1 αiT (ui). 6.2 Transformações no plano: reflexão Os operadores de reflexão são ferramentas matemáticas que permitem refletir pontos, figuras ou regiões do plano em torno de retas do plano cartesiano. Em particular, vamos considerar as reflexões em torno dos eixos coordenados. Essas reflexões são representadas por matrizes (transformações lineares). A transformação T : R2 → R2 tal que T (x, y) = (x, −y) (6.1) é uma aplicação de reflexão em torno do eixo x: Primeiro, mostremos que a expressão (6.1) é uma transformação linear. De fato, sejam u = (x1, y1) e v = (x2, y2) ∈ R2 e α ∈ R. Segue que, T (αu + v) = T (α(x1, y1) + (x2, y2)) = T (αx1 + x2, αy1 + y2) = (αx1 + x2, −αy1 − y2) = α(x1, −y1) + (x2, −y2) = αT (u) + T (v). Logo, T é uma transformação linear. Analogamente, a aplicação de reflexão em torno do eixo y é dada pela transformação, também linear, T : R2 → R2 com T (x, y) = (−x, y) É possível também realizar a reflexão em torno da origem, do primeiro ao terceiro quadrante, através da transformação T : R2 → R2 dada por T (x, y) = (−x, −y) (6.2) Transformações no plano: reflexão 70 Mostremos que T é também uma transformação linear. De fato, sejam u = (x1, y1) e v = (x2, y2) ∈ R2 e α ∈ R. Segue que, T (αu + v) = T (α(x1, y1) + (x2, y2)) = T (αx1 + x2, αy1 + y2) = (−αx1 − x2, −αy1 − y2) = α(−x1, −y1) + (−x2, −y2) = αT (u) + T (v). Logo, T é uma transformação linear. A representação matricial das transformações de reflexão são dadas por: (a) em torno do eixo x: T (x, y) = 1 0 0 −1  x y  =  x −y  (b) em torno do eixo y: T (x, y) = −1 0 0 1 x y  = −x y  (c) em torno da origem O: T (x, y) = −1 0 0 −1 x y  = −x −y  Vejamos um exemplo feito no Geogebra13 da reflexão dos pontos que definem um quadrado do primeiro ao segundo quadrante do plano cartesiano. Exemplo 6.4. Reflexão em torno do eixo y no Geogebra. # Defina a matriz de reflex ão do primeiro para o segundo quadrante . Matriz = {{-1, 0}, {0, 1}} # Defina os pontos do quadrado a ser refletido . A = (0, 2) B = (2, 2) C = (2, 0) D = (0, 0) # Realize a reflex ão. A’ = Matriz *A = (0, 2) B’ = Matriz *B = (-2, 2) C’ = Matriz *C 13https://www.geogebra.org/classic?lang=pt https://www.geogebra.org/classic?lang=pt Transformações no plano: reflexão 71 = (-2, 0) D’ = Matriz *D = (0, 0) Figura 36: Reflexão em torno do eixo y. Fonte: Elab