void ImgWindow::setImg(const QString &arq) { nomeArq = arq; // remove a img atual lblImg->clear(); // carrega o arquivo na Imagem - img1: img original img1 = new QImage(nomeArq); // imagem que sofrera alteracoes img2 = new QImage(nomeArq); // Se o formato nao for RGB32 entao converte /*if (img->format() != QImage::Format_RGB32) { img = &(img->convertToFormat(QImage::Format_RGB32)); }*/ // coloca para visualizacao a nova img lblImg->setPixmap(QPixmap::fromImage(*img2)); ui->scrollArea->setWidget(lblImg); action->setText(QFileInfo(nomeArq).fileName()); // o formato da imagem eh sempre RGB32 //qDebug() << "Formato da img1: " << QImage::Format_RGB32; calculaHistograma(); }
void ImgWindow::setImg(const QImage &im) { img1 = new QImage(im); img2 = new QImage(im); // coloca para visualizacao a nova img lblImg->setPixmap(QPixmap::fromImage(*img2)); ui->scrollArea->setWidget(lblImg); calculaHistograma(); }
void ImgWindow::upImg() { // limpa a cena lblImg->clear(); // coloca para visualizacao a nova img lblImg->setPixmap(QPixmap::fromImage(*img2)); //ui.lblTam->setText(QString::fromUtf8("<b>Size</b>: ") + // QString::number(imgTam.width()) + // "x" + QString::number(imgTam.height())); // // Atualiza o Histograma calculaHistograma(); }
int main(int argc, char* argv[]) { if (!seguridad(argc, argv)) return 0; std::string image; long posicion = 0; char basura; int miHistograma[NCLUSTERS]; time_t initTime, currentTime; time(&initTime); while(!_fichImagenes.eof()) { if (posicion != 0) _fichImagenes.seekg(posicion, _fichImagenes.beg); leeImagen(image); _img = cv::imread(image, cv::IMREAD_ANYCOLOR | cv::IMREAD_ANYDEPTH); if (_vImage == NULL) creaVectorImagen(_img.rows, _img.cols); /** los pixeles de los extremos se descartan */ if (_vPoints == NULL) creaVectorPuntos((_img.rows - 1) * (_img.cols - 1), NCOORDENADAS); /** se cogen los valores de la matriz y se normalizan para tenerlos en el rango (0,255) */ rellenaVectorImagen(); /** se rellena el vector con cada una de las coordenadas de la imagen */ int cont = 0; for (int f = 1; f < (_img.rows - 1); f++) for (int c = 1; c < (_img.cols - 1); c++) rellenaVectorPuntos(cont++, f, c); for(int i = 0; i < NCLUSTERS; i++) miHistograma[i] = 0; //histograma a 0 calculaHistograma(miHistograma, cont); imprimeHistograma(miHistograma); guardaHistograma(miHistograma, image); posicion = _fichImagenes.tellg(); _fichImagenes >> basura; } _fichImagenes.close(); std::cout << "Ha tardado: " << time(¤tTime) - initTime << " Segundos" << std::endl; return 1; }