Допомога у написанні освітніх робіт...
Допоможемо швидко та з гарантією якості!

Мультимодальна візуалізація зображень комплементарної природи

Лабораторна роботаДопомога в написанніДізнатися вартістьмоєї роботи

Int i=((x-(scrw-w)/2)+w*(h-y+(scrh-h)/2))*3; Unsigned int tex, w=0, h=0, currTexture=0; GlPixelStorei (GL_UNPACK_ALIGNMENT, 1); Pragma comment (lib," gdcmMSFF. lib"). Pragma comment (lib," gdcmDSED. lib"). GlutBitmapCharacter (font, *string++); Метод шахової дошки. Sprintf (stringColor," %d", buffers); GlutPassiveMotionFunc (mousePointer); Sprintf (filename, «%i.bmp», i+1); GlVertex2f… Читати ще >

Мультимодальна візуалізація зображень комплементарної природи (реферат, курсова, диплом, контрольна)

Національний технічний університет України

" Київський політехнічний інститут"

Факультет біомедичної інженерії

Кафедра біобезпеки та відновної біоінженерії

Лабораторна робота Мультимодальна візуалізація зображень комплементарної природи Виконав:

студент гр. БС-32м Найдьнов І.М.

Перевірила:

Алхімова С.М.

Київ — 2014

Завдання

1. Ознайомитися з теоретичними відомостями щодо мультимодального рендерингу, основними методами проведення візуалізації з метою об'єднання інформації комплементарної природи

2. Відповідно до свого варіанту завантажити то відобразити зображення двох модальностей. Створити подію при обробці якої поряд із початковим зображенням проводитися візуалізація методом мультимодального рендерінгу

Номер варіанту

Метод мультимодального рендерінгу

Метод шахової дошки

Лістинг

рендеринг візуалізація мультимодальний комплементарний

//#include «stdafx.h»

#include «SOIL.h»

#include

#include

#include

#include

#include

#include

#include

#include

#include

using namespace std;

using namespace gdcm;

#pragma comment (lib," gdcmMSFF. lib")

#pragma comment (lib," gdcmDSED. lib")

#pragma comment (lib," SOIL. lib")

const unsigned int ntex=3;

int scrw=512, scrh=512;

unsigned char *buffers[ntex];

unsigned int tex[ntex], w=0, h=0, currTexture=0;

const int chess_size=32;

void display (){

glClear (GL_COLOR_BUFFER_BIT);

glBindTexture (GL_TEXTURE_2D, tex[currTexture]);

glBegin (GL_QUADS);

glTexCoord2f (0,0);

glVertex2f ((scrw-w)/2,(scrh-h)/2);

glTexCoord2f (1,0);

glVertex2f ((scrw+w)/2,(scrh-h)/2);

glTexCoord2f (1,1);

glVertex2f ((scrw+w)/2,(scrh+h)/2);

glTexCoord2f (0,1);

glVertex2f ((scrw-w)/2,(scrh+h)/2);

glEnd ();

glBindTexture (GL_TEXTURE_2D, 0);

glFlush ();

}

void keyPressed (unsigned char key, int x, int y) {

if (key-'1'

currTexture = key-'1';

display ();

}

void draw_string_bitmap (void *font, const char* string)

{

glRasterPos2f (5, 5);

while (*string)

glutBitmapCharacter (font, *string++);

}

void mousePointer (int x, int y)

{

char stringColor[4];

glColor3d (0.0,0.0,0.0);

glBegin (GL_QUADS);

glVertex2f (0,0);

glVertex2f (50,0);

glVertex2f (50,50);

glVertex2f (0,50);

glEnd ();

glColor3d (1.0,1.0,1.0);

if ((scrw-w)/2<=x && x<(scrw+w)/2 && (scrh-h)/2<=y && y<(scrh+h)/2)

{

int i=((x-(scrw-w)/2)+w*(h-y+(scrh-h)/2))*3;

sprintf (stringColor," %d", buffers[currTexture][i]);

draw_string_bitmap (GLUT_BITMAP9_BY15, stringColor);

}

glFlush ();

}

int main (int argc, char* argv[])

{

char filename[] = «1.bmp» ;

for (int i=0;i<2;i++) {

sprintf (filename, «%i.bmp», i+1);

int width, height, channels;

unsigned char *buffer = SOIL_load_image (filename,&width, &height, &channels, SOIL_LOAD_L);

if (w==0 && h==0)

{

w=width;

h=height;

}

else if (w≠width || h≠height)

{

cerr << «Dimensions don’t agree» << endl;

return 2;

}

buffers[i]=new unsigned char[w*h*3];

for (int j=0; j

buffers[i][j*3]=buffers[i][j*3+1]=buffers[i][j*3+2]=buffer[j];

}

buffers[2]=new unsigned char[w*h*3];

for (int j=0; j

{

int x=j%w, y=j/w;

buffers[2][j*3]=buffers[2][j*3+1]=buffers[2][j*3+2]=buffers[x/chess_size%2==y/chess_size%2][j*3];

}

glutInit (&argc, argv);

glutInitDisplayMode (GLUT_RGB);

glutInitWindowSize (scrw, scrh);

glutCreateWindow («Lab 10»);

glOrtho (0, scrw, 0, scrh, 0, 1);

glEnable (GL_TEXTURE_2D);

glGenTextures (ntex, tex);

for (int i=0;i

{

glBindTexture (GL_TEXTURE_2D, tex[i]);

glPixelStorei (GL_UNPACK_ALIGNMENT, 1);

glTexImage2D (GL_TEXTURE_2D, 0, GL_RGB, w, h, 0, GL_RGB, GL_UNSIGNED_BYTE, buffers[i]);

glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);

glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);

}

glutDisplayFunc (display);

glutKeyboardFunc (keyPressed);

glutPassiveMotionFunc (mousePointer);

glutMainLoop ();

return 0;

}

Результати роботи програми

Показати весь текст
Заповнити форму поточною роботою