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"); } }
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); }
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); }
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 ); } }
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); }
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]; } } }
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; } }
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))); }
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]; } } } }
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); }