reading bmp images from SD card in arduino

can someone please help me write a code that can read 24 bit bmp file from an SD card, save converted 8 bit bmp internally, and display 8 bit bmp pixel values on arduino terminal as a 2d matrix. program should align the bytes as two HEX values on arduino terminal. I am new to this and not sure how to go about it. your help will be much appreciated. (SD card is inserted into teensy board)

the image is present in the sd card and coded as

#include <SPI.h>
#include <SD.h>
#include <SD_t3.h>

void setup() {
Serial.begin (9600);

delay (1000);

}

void loop() {
if (!SD.begin (BUILTIN_SDCARD))
{
Serial.println ("NO SDCARD");
while (1);
}
else
{
Serial.println ("YES SDCARD");
}

delay (1000);

if (SD.exists("filename.BMP"))
{
Serial.println ("filename.BMP exists");
}
else
{
Serial.println ("filename.BMP missing");

while (1);
}

delay (1000);

File hFi = SD.open ("filename.bmp", FILE_READ);

if (hFi == false)

{
Serial.println ("File open failed");
while (1);
}

byte BigBuffer[1000];

int rt = hFi.read (BigBuffer, 1000);

if ( rt == -1)
{
Serial.println ("Read file buffer failed");
}
else
{
Serial.println ("Read file buffer OK");
}

delay (1000);
{