С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Renarki
0 / 0 / 0
Регистрация: 18.06.2013
Сообщений: 2
#1

Создание анаглифического изображения - C++

21.06.2013, 12:55. Просмотров 319. Ответов 2
Метки нет (Все метки)

Доброго времени суток, я пытаюсь написать программу, которая клепает анаглифы из 2-х бмп. От левого изображения копируется красный цвет, от правого синий и зеленые. что-то идет не так, не могу разобраться. Код ниже. Изображение создается, красное ложится идеально, а вот с бирюзовым не все в порядке.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include<iostream>
#include "Windows.h";
 
    struct PIXEL
    {
        unsigned char b;
        unsigned char g;
        unsigned char r;
    };
 
void main()
 
{
PIXEL pixel;
 // Объявляем структуры
     BITMAPFILEHEADER bfh_l;
     BITMAPINFOHEADER bih_l;
         RGBTRIPLE rgb_l;
 FILE *left, *right, *output ;   //3 файла: левый, правый, итог 
 left = fopen("left.bmp","r+b");    //левый глаз (отнять бирюзовый(синий и зеленый))
 right = fopen ("right.bmp", "r+b"); //правый граз (отнять красный)
 output = fopen ("out.bmp","w+b");
 
  fread(&bfh_l,sizeof(bfh_l),1,left);               //Запихиваем файловый заголовок в структуру BITMAPFILEHEADER
  fwrite(&bfh_l, sizeof(bfh_l), 1,output);
  fread(&bih_l,sizeof(bih_l),1,left);               //Запихиваем заголовок изображения в структуру BITMAPINFOHEADER
  fwrite(&bih_l, sizeof(bih_l), 1,output);   
 
        for(int i=0;i< bih_l.biHeight;i++)
        {
                for (int j = 0; j < bih_l.biWidth; j++)
        {    fread(&pixel.b,1,1,right);
             fwrite(&pixel.b,1,1,output);
             fread(&pixel.g,1,1,right);
             fwrite(&pixel.g,1,1,output);
             fread(&pixel.b,1,1,left);
             fread(&pixel.g,1,1,left);
             fread(&pixel.r,1,1,left);
             fwrite(&pixel.r,1,1,output);
              
             
        }
         
        }
                
        fcloseall();
    
 
}
в архиве то, что на входе и то что на выходе.
0
Вложения
Тип файла: zip Изображения.zip (744.2 Кб, 11 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.06.2013, 12:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создание анаглифического изображения (C++):

Создание векторного изображения - C++
День добрый. Стоит задача создание изображений из текстового файла. То есть есть файл формата текст 1а текст2а текст 1б...

Создание bmp изображения.(Нужна помощь) - C++
Подскажите новичку пожалуйста, я изучаю С++ и пытаюсь создать библиотеку для рисования в файле расширения bmp но столкнулся с одной...

Редактирование текста и создание псевдографического изображения - C++
Помогите, пожалуйста, написать код программы: Условие: Написать программу, которая считает текст из файла INPUT.TXT (путь к файлу...

Создание изображения - PHP
Почему ругается на вторую строку? &lt;?php renderCaptcha($code: 'test'); function renderCaptcha($code){ $im =...

Создание изображения на лету - Программирование Android
Требуется на карте Google Maps размещать маркеры у которых в качестве иконок будут изображения с цифрами. Т.к. в таком случае иконки...

Создание хэша изображения - C#
Добрый день!На хабре есть статья о создании хэша изображения: https://habrahabr.ru/post/120562/. И есть реализация данного алгоритма на...

2
aLarman
643 / 564 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
Завершенные тесты: 1
21.06.2013, 16:19 #2
Цитата Сообщение от Renarki Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
{
 fread(&pixel.b,1,1,right); 
fwrite(&pixel.b,1,1,output);
fread(&pixel.g,1,1,right); 
fwrite(&pixel.g,1,1,output); 
fread(&pixel.r,1,1,right); //добавить вот это
fread(&pixel.b,1,1,left); 
fread(&pixel.g,1,1,left); 
fread(&pixel.r,1,1,left); 
fwrite(&pixel.r,1,1,output); 
}
Вы забыли вычитать красный пиксель из правого изображения
1
Renarki
0 / 0 / 0
Регистрация: 18.06.2013
Сообщений: 2
21.06.2013, 20:28 #3
Как умудрился, спасибо большое за помощь.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.06.2013, 20:28
Привет! Вот еще темы с ответами:

Создание полупрозрачного изображения - HTML, CSS
Подскажите пожалуйста, как можно создать полупрозрачное изображение. Хочу сделать меню у себя на сайта, как на кинопоиске...

Создание превью изображения - PHP
помогите создать превьюшку изображения! Допустим есть .jpg файл 200пкс300пкс, хотелось бы создать его копию 100пкс150пкс. Помогите,...

Создание всплывающего изображения - C++ Builder
необходимо при нажатии &quot;button&quot; сделать всплывающее изображание ну и собсвтенно вопрос: как?)

Создание графического изображения - Turbo Pascal


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.