00001 #include "dialogMatrix.h"
00002
00003 dialogMatrix::dialogMatrix(QWidget *parent)
00004 : QDialog(parent){
00005 uidialog.setupUi(this);
00006 init();
00007 }
00008
00009 void dialogMatrix::init(){
00010
00011 connect(uidialog.buttonMatrix, SIGNAL(accepted()), this, SLOT(dialogAccept()));
00012 connect(uidialog.buttonMatrix, SIGNAL(rejected()), this, SLOT(dialogReject()));
00013 }
00014
00015 void dialogMatrix::initArray(){
00016 loadMatrix(QVariant(cdata[0]).toString(),QVariant(cdata[1]).toString(),QVariant(cdata[2]).toString(),
00017 QVariant(cdata[3]).toString(),QVariant(cdata[4]).toString(),QVariant(cdata[5]).toString(),
00018 QVariant(cdata[6]).toString(),QVariant(cdata[7]).toString(),QVariant(cdata[8]).toString());
00019 }
00020
00021 void dialogMatrix::dialogAccept() {
00022 applyFilter();
00023 }
00024
00025 void dialogMatrix::applyFilter(){
00026 cdata[0]=(uidialog.a11->text()).toFloat();cdata[1]=(uidialog.a12->text()).toFloat();cdata[2]=(uidialog.a13->text()).toFloat();
00027 cdata[3]=(uidialog.a21->text()).toFloat();cdata[4]=(uidialog.a22->text()).toFloat();cdata[5]=(uidialog.a23->text()).toFloat();
00028 cdata[6]=(uidialog.a31->text()).toFloat();cdata[7]=(uidialog.a32->text()).toFloat();cdata[8]=(uidialog.a33->text()).toFloat();
00029 }
00030
00031 void dialogMatrix::dialogReject() {
00032 }
00033
00034 void dialogMatrix::loadPrewitt(){
00035 loadMatrix("-1","0","1","-1","0","1","-1","0","1");
00036 }
00037 void dialogMatrix::loadSobel(){
00038 loadMatrix("-1","0","1","-2","0","2","-1","0","1");
00039 }
00040 void dialogMatrix::loadRoberts(){
00041 loadMatrix("0","1","0","-1","0","0","0","0","1");
00042 }
00043 void dialogMatrix::loadFreiChen(){
00044 loadMatrix("-1","0","1","-1.4","0","1.4","-1","0","1");
00045 }
00046 void dialogMatrix::loadLaplace4(){
00047 loadMatrix("0","1","0","1","-4","1","0","1","0");
00048 }
00049 void dialogMatrix::loadLaplace8(){
00050 loadMatrix("1","1","1","1","-8","1","1","1","1");
00051 }
00052
00053 void dialogMatrix::loadMatrix(QString qa11,QString qa12,QString qa13,
00054 QString qa21,QString qa22,QString qa23,QString qa31,QString qa32,QString qa33){
00055
00056
00057
00058 uidialog.a11->setText(qa11);uidialog.a12->setText(qa12);uidialog.a13->setText(qa13);
00059 uidialog.a21->setText(qa21);uidialog.a22->setText(qa22);uidialog.a23->setText(qa23);
00060 uidialog.a31->setText(qa31);uidialog.a32->setText(qa32);uidialog.a33->setText(qa33);
00061
00062 }
00063
00064 dialogMatrix::~dialogMatrix(){}