Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
12 / 10 / 5
Регистрация: 27.08.2015
Сообщений: 236

Двумерный массив пикселей

23.10.2015, 11:05. Показов 2576. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток!
Ниже представлен код, который берет картинку разбивает ее на двумерный массив пикселей,а затем выдает этот массив.
Проблема в следующем: почему все значения равны 255? Ведь картинка не чисто черная, а черно-белая.
Так же возникает проблема при работе не с *.bmp, а с *.jpg - программа аварийно закрывается.
Буду очень и очень благодарен если кто-то выскажет хотя бы какие-то предположения в чем суть проблемы.

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
#include <QString>
#include <QImage>
#include <iostream>
 
using namespace std;
 
int main ()
{
 
    QImage image("1.jpg");
    int w = image.width();
    int h = image.height();
    int red[w][h];
    int green[w][h];
    int blue[w][h];
 
    for(int x=0; x<w;x++){
        for(int y=0; y<h; y++){
     QRgb rgb = image.pixel(x, y);
     red[x][y] = qRed( rgb );
     green[x][y] = qGreen( rgb );
     blue[x][y] = qBlue( rgb );
     }
   }
    for(int i=0; i<w;i++){
        for(int j=0; j<h; j++){
    cout << red[i][j];
    cout << green[i][j];
    cout << blue[i][j];
        }
    }
 
 
    return 0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.10.2015, 11:05
Ответы с готовыми решениями:

Массив пикселей
Хочу работать с графикой, попробовал различные библиотеки, но сейчас хочу создать что-то свое. Поэтому вопрос: как создать массив пикселей?...

Массив пикселей RGB в JPEG
Всем доброго времени суток! Пишу программу под МК на С/С++. На входе имею массив пикселей в формате RGB565 (2 байта/пиксель). На...

Преобразовать двумерный массив пикселей в картинку
у меня есть двумерный массив структур public static struct COLOR { public byte R; public byte G; ...

8
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,536
Записей в блоге: 1
23.10.2015, 13:12
после загрузки файла картинки проверь что нету QImage::isNull(), возможно загрузка провалилась.
0
654 / 575 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
23.10.2015, 13:13
C++ (Qt)
1
2
3
4
5
6
QImage myImage;
myImage.load("1.jpg");
if (myImage.isNull())
{
//диагностич сообщение
}
Цитата Сообщение от JavJun Посмотреть сообщение
Ведь картинка не чисто черная, а черно-белая.
так она может быть вообще 1канальная? а Вы патаетесь получить цветовые компоненты)
0
16 / 16 / 10
Регистрация: 19.10.2015
Сообщений: 34
23.10.2015, 13:45
Нет библиотек
Цитата Сообщение от JavJun Посмотреть сообщение
#include <QString>
#include <QImage>
Если скинешь можно будет глянуть
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,536
Записей в блоге: 1
23.10.2015, 14:16
kJIuk, без кутэ ты не запустишь.
0
12 / 10 / 5
Регистрация: 27.08.2015
Сообщений: 236
23.10.2015, 19:46  [ТС]
aLarman, а что делать если одноканальная?
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,536
Записей в блоге: 1
23.10.2015, 21:12
JavJun, так ты проверил, что возвращает isNull?
0
16 / 16 / 10
Регистрация: 19.10.2015
Сообщений: 34
26.10.2015, 08:39
Kuzia domovenok, уже пользую cximage, не охота ставить много ненужного
0
654 / 575 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
26.10.2015, 10:28
Цитата Сообщение от JavJun Посмотреть сообщение
а что делать если одноканальная?
ну, наверное не пытаться получить оттуда цветовые компоненты)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.10.2015, 10:28
Помогаю со студенческими работами здесь

Двумерный массив. Ввести двумерный массив, найти сумму элементов каждого столбца
Ввести двумерный массив, найти сумму элементов каждого столбца.

Двумерный массив. Заполнить и вывести двумерный массив БЕЗ использования цикла FOR
Заполнить ивывести двумерный массив БЕЗ использования цикла FOR очень срочно!!!

Массив: Получите массив пикселей, где каждый пиксель определяется как среднее между четырьмя пикселями исходного массива
Прошу вашей помощи поскольку даже не знаю как начать, заранее спасиб. Изображение задано двумерным массивом (n×m) пикселей, где 0...

Создать двумерный массив, опираясь на другой двумерный массив
У меня есть такой массив 0 0 0 0 0 0 0 6 3 2 2 8 9 3 7 6 8 3 4 5 1 0 0 0 0 0 0 0 0 0 0 0 0...

Массив пикселей
Здравствуйте. Подскажите пожалуйста, как из изображения получить массив пикселей?


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Функция установки текстового статуса в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru