-
Notifications
You must be signed in to change notification settings - Fork 0
/
mediaponderada.cpp
70 lines (63 loc) · 1.88 KB
/
mediaponderada.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include "mediaponderada.h"
#include "ui_mediaponderada.h"
mediaponderada::mediaponderada(QWidget *parent) :
QDialog(parent),
ui(new Ui::mediaponderada)
{
ui->setupUi(this);
nfoto= foto_activa();
nfoto2= nfoto;
for (int i= 0, pos= 0; i<MAX_VENTANAS; i++) {
if (foto[i].usada) {
ui->listWidget->addItem(QString::fromStdString(foto[i].nombre));
corresp[pos++]= i;
}
}
imgUno= foto[nfoto].img;
imgDos.create(imgUno.size(), imgUno.type());
imgRes.create(imgUno.size(), imgUno.type());
ui->listWidget->setCurrentRow(0);
if (parent)
move(parent->x()+DESP_X_HIJO, parent->y()+DESP_Y_HIJO);
}
mediaponderada::~mediaponderada()
{
destroyWindow("Media ponderada");
delete ui;
}
void mediaponderada::changeEvent(QEvent *e)
{
QDialog::changeEvent(e);
switch (e->type()) {
case QEvent::LanguageChange:
ui->retranslateUi(this);
break;
default:
break;
}
}
void mediaponderada::on_horizontalSlider_valueChanged(int value)
{
if (ui->checkBox->isChecked()) {
double peso= value/100.0;
addWeighted(imgUno, peso, imgDos, 1.0-peso, 0, imgRes);
namedWindow("Media ponderada", 0);
imshow("Media ponderada", imgRes);
}
}
void mediaponderada::on_listWidget_currentRowChanged(int currentRow)
{
nfoto2= corresp[currentRow];
cv::resize(foto[nfoto2].img, imgDos, imgUno.size(), 0, 0, INTER_CUBIC);
on_horizontalSlider_valueChanged(ui->horizontalSlider->value());
}
void mediaponderada::on_buttonBox_accepted()
{
double peso= ui->horizontalSlider->value()/100.0;
media_ponderada(nfoto, nfoto2, primera_libre(), peso);
}
void mediaponderada::on_checkBox_stateChanged(int arg1)
{
if (arg1)
on_horizontalSlider_valueChanged(ui->horizontalSlider->value());
}