Esempio n. 1
0
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();
}
Esempio n. 2
0
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();
}
Esempio n. 3
0
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(&currentTime) - initTime << " Segundos" << std::endl;

	return 1;
}