Ejemplo n.º 1
0
void
MainWindow::connectUser() {
    QString serverIp = "";
    if ( ipCheck(serverIpEdt->text()) ) {
        statLbl->setText("");

        serverIp = serverIpEdt->text();
        settings->setValue("serverIp", serverIp );

        const QPixmap *avatar = loginAvatarLbl->pixmap();
        QImage resizedAvatar;
        if (avatar != NULL) {
            resizedAvatar = avatar->scaled(WORK_SIZE, WORK_SIZE).toImage();
        }

        if ( checkFields() ) {
            Socket::sock().login(
                serverIp,
                loginUserEdt->text(),
                loginPasswordEdt->text(),
                QImage2Mat( resizedAvatar )
            );
        }
    } else {
        statLbl->setText("Adresse IP incorrecte");
    }
}
Ejemplo n.º 2
0
void Viewport::screenshot()
{
	// ensure high quality
	drawingState = HIGH_QUALITY;
	updateBuffers(RM_FULL, RM_FULL);

	// render into our buffer
	QGLFramebufferObject b(width, height);
	QPainter p(&b);
	bool success = drawScene(&p, false);

	// reset drawing state
	endNoHQ();

	if (!success)
		return;

	QImage img = b.toImage();

	// write out
	cv::Mat output = QImage2Mat(img);
	GerbilIO io(target, "Screenshot File", "screenshot");
	io.setFileSuffix(".png");
	io.setFileCategory("Screenshot");
	io.writeImage(output);
}
Ejemplo n.º 3
0
void FalseColorDock::screenshot()
{
	QImage img = scene->getPixmap().toImage();
	cv::Mat output = QImage2Mat(img);
	GerbilIO io(this, "False-coloring File", "false-color image");
	io.setFileSuffix(".png");
	io.setFileCategory("Screenshot");
	io.writeImage(output);
}
Ejemplo n.º 4
0
void
ProcessImage::onConfirmPerson(){
    if (showCase->exists( _currentImage, _currentItem ) ){
        int personId = sidePanel->get( "personId" ).toInt();
        QImage newFace = sidePanel->faceLbl->pixmap()->toImage();

        qDebug() << "confirm personId " << personId << "with face length " << newFace.size();

        Socket::sock().confirm( personId, MatToQByteArray(QImage2Mat(newFace)), showCase->getRatio( _currentImage, _currentItem ) );
        showCase->setVoted( _currentImage, _currentItem );
    }
}
Ejemplo n.º 5
0
void MainWindow::screenshot()
{
	// grabWindow reads from the display server, so GL parts are not missing
	QPixmap shot = QPixmap::grabWindow(this->winId());

	// we use OpenCV so the user can expect the same data type support
	cv::Mat output = QImage2Mat(shot.toImage());

	GerbilIO io(this, "Screenshot File", "screenshot");
	io.setFileSuffix(".png");
	io.setFileCategory("Screenshot");
	io.writeImage(output);
}
Ejemplo n.º 6
0
void BasicPro::revImg(QImage& srcq)
{
    cv::Mat src = QImage2Mat(srcq);

    for(int i=0;i<src.rows;++i)
    {
        cv::Vec4b *pSrc=src.ptr<cv::Vec4b>(i);
        for(int j=0;j<src.cols;++j)
        {
            pSrc[j][0]=255-pSrc[j][0];
            pSrc[j][1]=255-pSrc[j][1];
            pSrc[j][2]=255-pSrc[j][2];
        }
    }
}
Ejemplo n.º 7
0
void
ProcessImage::process(int index){

    if (index > -1 && index < _imagesList.size() ){

        // DETECTE FACES
        FaceDetector *detector = new FaceDetector( index, QImage2Mat( _imagesList.at( index ) ) );
        detector->start();
        connect( detector, SIGNAL(detectionFinished( int, QList<struct DetectorData> )), SLOT( insertNewData(int, QList<struct DetectorData>) ) );
        // _detectorData = detector->getData();

        
    } else {
        qWarning() << "index not in -1 > index > _imagesList.size() rang in ProcessImage::process" << index;
    }
}
Ejemplo n.º 8
0
void GammaDialog::viewGamma(){

    double inverse_gamma = 50 / slSigma->value();

    cv::Mat lut_matrix(1, 256, CV_8UC1 );
    uchar * ptr = lut_matrix.ptr();

    for( int i = 0; i < 256; i++ )
    ptr[i] = (int)( cv::pow( (double) i / 255.0, inverse_gamma ) * 255.0 );

    cv::Mat result;
    cv::LUT( QImage2Mat(imgM), lut_matrix, result );

    imgL->setPixmap(QPixmap::fromImage(Mat2QImage(result).scaledToWidth(anch)));

}
Ejemplo n.º 9
0
void BasicPro::lineDrawing(QImage& srcq,int thres1,int thres2)
{
    cv::Mat src=QImage2Mat(srcq);
    cv::Mat Img,ImgBlur,ImgMinus,ImgEdge;

    cv::cvtColor(src,Img,CV_BGRA2GRAY);

    cv::GaussianBlur(Img,ImgBlur,cv::Size(2*thres1+1,2*thres1+1),0,0);//thres1 范围1-100

    ImgMinus.create(Img.size(),CV_8U);
    for(int i=0;i<ImgMinus.rows;++i)
    {
        uchar *pMinusR=ImgMinus.ptr<uchar>(i);
        uchar *pBlurR=ImgBlur.ptr<uchar>(i);
        uchar *pImgR=Img.ptr<uchar>(i);
        for(int j=0;j<ImgMinus.cols;++j)
            pMinusR[j]=cv::saturate_cast<uchar>(int(255.0/pBlurR[j]*pImgR[j]));
    }

    cv::blur(Img,ImgEdge,cv::Size(3,3));
    cv::Canny(ImgEdge,ImgEdge,thres2,3*thres2);//thres2 范围0-100
    cv::Mat ImgWhite(Img.rows,Img.cols,CV_8U,cv::Scalar::all(255));
    ImgEdge=255-ImgEdge;

    if(!ImgMinus.empty() && !ImgEdge.empty())
    {
        cv::Mat ImgThresEdge(src.size(), CV_8U);
        updateImgRes(ImgMinus,ImgEdge,ImgWhite,ImgThresEdge);

        for(int i=0;i<src.rows;++i)
        {
            cv::Vec4b *pSrc=src.ptr<cv::Vec4b>(i);
            uchar *pTmp=ImgThresEdge.ptr<uchar>(i);
            for(int j=0;j<src.cols;++j)
            {
                pSrc[j][0]=pTmp[j];
                pSrc[j][1]=pTmp[j];
                pSrc[j][2]=pTmp[j];
            }
        }
    }
}
Ejemplo n.º 10
0
void SmoothDialog::viewSmooth(){

    src = QImage2Mat(imgM);
    cv::Mat dst;

    if(box->isChecked()){
        slSigmaX->setDisabled(true);
        slSigmaY->setDisabled(true);
        for ( int i = 1; i < slKSize->value(); i = i + 2 ){
            cv::boxFilter(src,dst,-1,cv::Size(i,i));
            src = dst;
        }
        imgL->setPixmap(QPixmap::fromImage(Mat2QImage(dst)).scaledToWidth(anch));
    }
    else if(median->isChecked()){
        slSigmaX->setDisabled(true);
        slSigmaY->setDisabled(true);
        for ( int i = 1; i < slKSize->value(); i = i + 2 ){
            cv::medianBlur(src,dst,i);
            src = dst;
        }
        imgL->setPixmap(QPixmap::fromImage(Mat2QImage(dst)).scaledToWidth(anch));
    }
    else if(bilateral->isChecked()){
        slSigmaX->setEnabled(true);
        slSigmaY->setEnabled(true);
        for ( int i = 1; i < slKSize->value(); i = i + 2 ){
            cv::bilateralFilter(src,dst,i,slSigmaX->value(),slSigmaY->value());
        }
        imgL->setPixmap(QPixmap::fromImage(Mat2QImage(dst)).scaledToWidth(anch));
    }
    else if(gaussian->isChecked()){
        slSigmaX->setEnabled(true);
        slSigmaY->setEnabled(true);
        for ( int i = 1; i < slKSize->value(); i = i + 2 ){
            cv::GaussianBlur( src, dst, cv::Size( i, i ),slSigmaX->value(), slSigmaY->value());
            src = dst;
        }
        imgL->setPixmap(QPixmap::fromImage(Mat2QImage(dst)).scaledToWidth(anch));
    }/*
    for(int i = 1; i < MAX_KERNEL_LENGTH; i = i + 2 )
           { blur( src, dst, Size( i, i ), Point(-1,-1) );
             if( display_dst( DELAY_BLUR ) != 0 ) { return 0; } }

        /// Applying Gaussian blur
        if( display_caption( "Gaussian Blur" ) != 0 ) { return 0; }

        for ( int i = 1; i < MAX_KERNEL_LENGTH; i = i + 2 )
            { GaussianBlur( src, dst, Size( i, i ), 0, 0 );
              if( display_dst( DELAY_BLUR ) != 0 ) { return 0; } }

         /// Applying Median blur
         if( display_caption( "Median Blur" ) != 0 ) { return 0; }

         for ( int i = 1; i < MAX_KERNEL_LENGTH; i = i + 2 )
             { medianBlur ( src, dst, i );
               if( display_dst( DELAY_BLUR ) != 0 ) { return 0; } }

         /// Applying Bilateral Filter
         if( display_caption( "Bilateral Blur" ) != 0 ) { return 0; }

         for ( int i = 1; i < MAX_KERNEL_LENGTH; i = i + 2 )
             { bilateralFilter ( src, dst, i, i*2, i/2 );
               if( display_dst( DELAY_BLUR ) != 0 ) { return 0; } }*/
}
void ImageProcessing::loadNewImage(QImage const&image){
  this->image = QImage2Mat(image);
}