Обработка изображений RGB в Qt - PullRequest
0 голосов
/ 15 октября 2018

Я изо всех сил пытаюсь преобразовать изображение в его красный, синий и зеленый каналы.

Я работаю в Qt C ++, я уже загрузил Исходное изображение, и оно отображается в моем виджете, и я знаю, чтоУ преобразования RGB будет своего рода цикл for, который изменяет пиксель за пикселем, я просто не уверен, какую функцию я должен использовать для изменения этих пикселей в моем цикле.

Любой совет?Это то, что у меня сейчас есть для красного канала, я загружаю с QImage

 for(int i = 0; i < Red.width(); i++)
    {
        for(int j = 0; j < Red.height(); j++)
        {
           QColor pixelC = Red.pixelColor(i,j);
           pixelC.setRed(255);
           pixelC.setBlue(0);
           pixelC.setGreen(0);



        }
    }

    QLabel RedPic;
    ui->RedPic->setScaledContents(true);
    ui->RedPic->setPixmap(QPixmap::fromImage(Red));

Ответы [ 2 ]

0 голосов
/ 16 октября 2018

так что, очевидно, работать 24 часа подряд никогда не будет хорошей идеей, после хорошего отдыха я понял это.Если у кого-то еще есть эта проблема, не стесняйтесь связаться со мной, это на самом деле довольно простое решение.

Вот несколько советов относительно того, что я сделал, это в моем цикле for:

QRgb* rgbpixel = reinterpret_cast<QRgb*>(scan + j*depth);
            int Red = qRed(*rgbpixel);
            *rgbpixel = QColor(Red, 0, 0).rgba();
0 голосов
/ 15 октября 2018

Если вы говорите о классе QImage, то это уже образ RGB с QRgb QImage::pixel(int x, int y) в качестве средства доступа.Если вы говорите о QPixmap, посмотрите на QImage QPixmap::toImage().

. Возможно, вы захотите использовать QColor(QRgb color) для преобразования QRgb (который хранит свои данные в целое число) в QColor (который имеетканалы как участники).

Если вам нужен пример кода для чего-то конкретного, просто спросите.Если вы начнете с QPixmap, результатом может быть преобразование в QImage, преобразование пикселей в QColor, изменение там каналов, преобразование обратно в QRgb, вставка в QImage, преобразованиеQImage до QPixmap.

...