Projeto ITP - Esteganografia 1.0
|
Define uma imagem PPM alocada dinamicamente e fornece vários métodos para manipular e acessar os dados da imagem. Mais...
#include <Image.h>
Membros públicos | |
Image () | |
Construtor padrão para a classe Image. | |
Image (int w, int h) | |
Construtor para inicializar uma imagem com largura e altura fornecidas. | |
int | GetWidth () const |
Obtém a largura da imagem. | |
int | GetHeight () const |
Obtém a altura da imagem. | |
void | AllocatePixels () |
Alocação de memória da matriz de pixels, fundamental na definição de qualquer objeto Image. | |
void | LiberatePixels () |
Libera a memória previamente alocada pela função AllocatePixels(), bem como a memória alocada pelo array dos valores 'R', 'G' e 'B' dos pixels. | |
void | GetPixels () |
Função que preenche a matriz de pixels. | |
void | PrintPPM () const |
Função que imprime os parâmetros de uma imagem PPM. Usada para fins de teste. | |
bool | ExtensionCheck (const string &input_text, const string &file_type) |
Função que verifica se uma string termina com a substring válida. | |
string | CreatePPM () const |
Função que cria uma string contendo todos os dados de uma imagem PPM. | |
bool | ReadPPM (const string &file_name) |
Lê e armazena dinamicamente o conteúdo de uma imagem de um arquivo PPM válido. | |
void | ShowArray () const |
Função que exibe um array previamente definido de valores 'R', 'G' e 'B'. Usada para fins de teste. | |
string | IntToBin (int num, int bits=8) |
Função recursiva para converter um valor inteiro em um valor binário. | |
void | CodeMsg (string msg) |
Função principal usada na codificação e ocultação de uma mensagem ASCII nos bits menos significativos (LSB) dos pixels de uma imagem PPM. | |
int | BinToInt (string bin_num, int index=0) |
Função recursiva usada para converter um valor binário em um valor inteiro. | |
void | DecodeMsg () |
Função principal usada para descobrir e decodificar uma mensagem ASCII oculta nos bits menos significativos (LSB) dos pixels de uma imagem PPM. | |
Define uma imagem PPM alocada dinamicamente e fornece vários métodos para manipular e acessar os dados da imagem.
|
inline |
Construtor padrão para a classe Image.
|
inline |
Construtor para inicializar uma imagem com largura e altura fornecidas.
< Esta variável define o tamanho do array de pixels, contando cada valor 'R', 'G' e 'B' como uma unidade separada do array.
|
inline |
|
inline |
Função recursiva usada para converter um valor binário em um valor inteiro.
bin_num | String contendo o valor binário que será convertido em um inteiro. |
index | O índice da string. |
Caso base: se o índice atingir o final da string binária.
Chamada recursiva para calcular o valor do dígito binário atual e subsequente.
|
inline |
Função principal usada na codificação e ocultação de uma mensagem ASCII nos bits menos significativos (LSB) dos pixels de uma imagem PPM.
msg | Mensagem que será armazenada dentro da imagem. |
O número de caracteres na mensagem.
Array que armazena os valores ASCII de cada um dos caracteres da mensagem.
Preenche o array chars[].
Armazena o valor binário do número de caracteres na mensagem.
Modificação dos primeiros 8 bits do array de valores 'R', 'G' e 'B' que armazena o tamanho da mensagem.
Modifica os bits do array de valores 'R', 'G' e 'B' que armazenarão a mensagem real.
Índice para cada um dos bits da mensagem.
|
inline |
Função que cria uma string contendo todos os dados de uma imagem PPM.
Obtém os pixels de um array de pixels previamente definido.
|
inline |
Função principal usada para descobrir e decodificar uma mensagem ASCII oculta nos bits menos significativos (LSB) dos pixels de uma imagem PPM.
String que armazena o tamanho da mensagem em binário.
Obtém (em binário) o tamanho da mensagem armazenada na imagem a partir dos primeiros 8 bits dos valores 'R', 'G' e 'B' dos pixels, previamente armazenados em um array.
Adiciona o caractere '0' a bin_size.
Adiciona o caractere '1' a bin_size.
String que armazena a mensagem ASCII em binário.
Armazena o tamanho da imagem como um valor inteiro.
Obtém (em binário) a mensagem armazenada na imagem, usando o tamanho da mensagem e usando o array de valores 'R', 'G' e 'B' dos pixels.
Adiciona o caractere '0' a bin_msg.
Adiciona o caractere '1' a bin_msg.
String que armazena a mensagem completamente decodificada.
Repete o processo abaixo até que todos os caracteres da mensagem tenham sido decodificados e armazenados.
Armazena um valor binário de um único caractere.
Obtém 8 bits (ou um único caractere) da mensagem em binário, então adiciona até que faça o mesmo com o próximo bit (se houver um próximo bit).
Armazena o caractere ASCII decodificado como um char.
Empurra um novo caractere decodificado na string que armazena a mensagem.
|
inline |
Função que verifica se uma string termina com a substring válida.
input_text | Texto inserido na função, que deve ser verificado. |
file_type | A substring que você deseja verificar se existe no final de uma determinada string. |
|
inline |
Obtém a altura da imagem.
|
inline |
|
inline |
Obtém a largura da imagem.
|
inline |
Função recursiva para converter um valor inteiro em um valor binário.
num | Valor inteiro a ser convertido em valor binário. |
bits | O tamanho máximo do valor binário a ser retornado. |
Caso base: quando não restam mais bits para converter.
Determina o bit atual em binário.
Chamada recursiva para calcular os bits remanescentes em binário.
|
inline |
Libera a memória previamente alocada pela função AllocatePixels(), bem como a memória alocada pelo array dos valores 'R', 'G' e 'B' dos pixels.
Libera a memória utilizada pelo array dos valores 'R', 'G' e 'B' dos pixels, usado nas funções CreatePPM(), ReadPPM(), ShowArray(), CodeMsg() e DecodeMsg().
|
inline |
Função que imprime os parâmetros de uma imagem PPM. Usada para fins de teste.
|
inline |
Lê e armazena dinamicamente o conteúdo de uma imagem de um arquivo PPM válido.
file_name | O nome de um arquivo PPM armazenado previamente dentro da pasta de origem, que será lido pela função. |
Testa se o arquivo existe dentro da pasta de origem.
Testa se o arquivo é de fato um arquivo P3/PPM.
Alocação de memória do array de pixels, usado na decodificação e codificação.
Lê e armazena em um array os valores 'R', 'G' e 'B' dos pixels.
|
inline |
Função que exibe um array previamente definido de valores 'R', 'G' e 'B'. Usada para fins de teste.