Skip to content

Isaac3105/RGB-Image-Processing-Pipeline-Project

Repository files navigation

🎨 RGB Image Processing Pipeline — Projeto de Programação (L.EIC009)

Este projeto em C++ implementa um pipeline de processamento de imagens RGB com 8 bits por canal. Utiliza uma linguagem de script própria chamada Scrim (Script for Images), que define uma sequência de comandos para manipulação de imagens.

Grade: 96/100

Professor: André Couto Meira


📁 Estrutura do Projeto

O projeto está organizado no namespace prog com as seguintes classes principais:

Classe Descrição
Color Representa uma cor RGB (vermelho, verde, azul)
Image Matriz 2D de Color, representa a imagem inteira
Command Comandos Scrim que manipulam imagens

📜 Exemplo de Script (.scrim)

blank 750 380 0 0 0
fill 0 0 250 380 255 0 0
add input/lion.png 255 255 255 0 0
fill 250 0 250 380 0 255 0
add input/lion.png 255 255 255 250 0
fill 500 0 250 380 0 0 255
add input/lion.png 255 255 255 500 0
save output/extra4.png

🛠 Funcionalidades Implementadas

✅ Comandos Scrim disponíveis:

  • invert
  • to_gray_scale
  • replace
  • fill
  • h_mirror, v_mirror
  • add
  • move, slide
  • crop, resize
  • rotate_left, rotate_right
  • scaleup

▶️ Como Compilar e Executar

🧱 Compilação

cmake -B build
cd build
make

📄 Executar script Scrim

build/runscrim caminho/para/arquivo.scrim

🧪 Executar testes automáticos

# Executa todos os testes
build/tester

# Executa apenas uma funcionalidade
build/tester invert

About

This repository contains the contents of the C++ project of the 1st year 2nd semester Programming class

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •