コード例 #1
0
void MainWindow::on_label_pseudoBar_sendHoriDis(int dx)
{
    if(pseudo_pos + dx < 0){pseudo_pos = 359;}
    else if(pseudo_pos + dx >= 360){pseudo_pos = 0;}
    else{pseudo_pos += dx;}

    if(image.empty() || !ui->radioButton_pseudoColor->isChecked())
    {
        cv::Mat bar;
        myCV::getPseudoBar(pseudo_pos, bar, cv::Size(ui->label_pseudoBar->size().width(), ui->label_pseudoBar->size().height()));
        ui->label_pseudoBar->setPixmap(QPixmap::fromImage(QImage(bar.data, bar.cols, bar.rows, bar.step, QImage::Format_RGB888).rgbSwapped()));
        return;
    }
    if(image.cols < 2000 && image.rows < 2000)
    {
        std::vector<cv::Mat> temp(2);
        myCV::myCvtColor(image, temp[0], myCV::BGR2GRAY);

        cv::Mat bar;
        myCV::pseudoColor(temp[0], temp[1], pseudo_pos, true, bar, cv::Size(ui->label_pseudoBar->size().width(), ui->label_pseudoBar->size().height()));
            ui->label_pseudoBar->setPixmap(QPixmap::fromImage(QImage(bar.data, bar.cols, bar.rows, bar.step, QImage::Format_RGB888).rgbSwapped()));
        colorType = myCV::pseudo;
        setShowImage(temp);
    }
    else
    {
        cv::Mat bar;
        myCV::getPseudoBar(pseudo_pos, bar, cv::Size(ui->label_pseudoBar->size().width(), ui->label_pseudoBar->size().height()));
        ui->label_pseudoBar->setPixmap(QPixmap::fromImage(QImage(bar.data, bar.cols, bar.rows, bar.step, QImage::Format_RGB888).rgbSwapped()));
    }
}
コード例 #2
0
void MainWindow::on_radioButton_rgb_clicked()
{
    if(image.empty())
        return;

    colorType = myCV::RGB;
    setShowImage(image);
}
コード例 #3
0
void MainWindow::on_radioButton_gray_clicked()
{
    if(image.empty())
        return;

    cv::Mat temp;
    myCV::myCvtColor(image, temp, myCV::BGR2GRAY);
    colorType = myCV::GRAY;
    setShowImage(temp);
}
コード例 #4
0
void MainWindow::on_radioButton_cielab_clicked()
{
    if(image.empty())
        return;

    cv::Mat temp;
    myCV::myCvtColor(image, temp, myCV::BGR2XYZ);
    myCV::myCvtColor(temp, temp, myCV::XYZ2Lab);
    colorType = myCV::Lab;
    setShowImage(temp);
}
コード例 #5
0
void MainWindow::on_radioButton_pseudoColor_clicked()
{
    if(image.empty())
        return;

    std::vector<cv::Mat> temp(2);
    myCV::myCvtColor(image, temp[0], myCV::BGR2GRAY);

    myCV::pseudoColor(temp[0], temp[1], pseudo_pos);
    colorType = myCV::pseudo;
    setShowImage(temp);
}
コード例 #6
0
void MainWindow::on_label_pseudoBar_released()
{
    if(image.cols > 2000 && image.rows > 2000)
    {
        std::vector<cv::Mat> temp(2);
        myCV::myCvtColor(image, temp[0], myCV::BGR2GRAY);

        cv::Mat bar;
        myCV::pseudoColor(temp[0], temp[1], pseudo_pos, true, bar, cv::Size(ui->label_pseudoBar->size().width(), ui->label_pseudoBar->size().height()));
            ui->label_pseudoBar->setPixmap(QPixmap::fromImage(QImage(bar.data, bar.cols, bar.rows, bar.step, QImage::Format_RGB888).rgbSwapped()));
        colorType = myCV::pseudo;
        setShowImage(temp);
    }
}
コード例 #7
0
void MainWindow::on_actionOpen_image_triggered()
{
    QString fileName = QFileDialog::getOpenFileName(this,tr("Open File"),0,"Image files (*.png *.bmp *.jpg);;PNG (*.png);;BMP (*.bmp);;JPG (*.jpg)");

    if(fileName.isEmpty())
        return;
    image = cv::imread(fileName.toStdString());
    if(image.empty())
        return;

    isInitial = false;
    if(image.type() == CV_8UC1)
    {
        colorType = myCV::GRAY;
        ui->radioButton_gray->setChecked(true);
    }
    else if(image.type() == CV_8UC3)
    {
        colorType = myCV::RGB;
        ui->radioButton_rgb->setChecked(true);
    }
    pic_status = 0;
    setShowImage(image);
}
コード例 #8
0
void MainWindow::on_actionImport_from_Main_triggered()
{
    image = _from_Main_img.clone();

    if(image.empty())
    {
        QMessageBox::critical(this,"Error","No image is opened in main program.");
        return;
    }

    isInitial = false;
    if(image.type() == CV_8UC1)
    {
        colorType = myCV::GRAY;
        ui->radioButton_gray->setChecked(true);
    }
    else if(image.type() == CV_8UC3)
    {
        colorType = myCV::RGB;
        ui->radioButton_rgb->setChecked(true);
    }
    pic_status = 0;
    setShowImage(image);
}
コード例 #9
0
ファイル: hw5.cpp プロジェクト: a22918097/OpenCVHW
void hw5::readImage(cv::Mat &img)
{
    originImg = img.clone();
    setShowImage(originImg);
}