Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Últimos assuntos
Relogio

Eventos de Teclado

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Eventos de Teclado

Mensagem  juk em Ter Out 21, 2014 8:00 am

Código:
#include "opencv2/opencv.hpp"
#include <iostream>
#include <string>    // std::string, std::to_string

using namespace cv;
using namespace std;
///Prototipo de Func
Mat loandIMG(char* imageName );
static void setTextImg(string text,int x,int y);
///Constant
Mat img = loandIMG("/home/seminfo/Imagens/openCV/ubuntu.png");//lendo img
static const char nomeW[] = "TITULO"; //titulo janela
int corR = 0;
int corG = 0;
int corB = 255;
int isColor = true;
///Carregando IMG

///FUNC
Mat loandIMG(char* imageName ){
///lendoIMG
    //char* imageName = "/home/seminfo/Documentos/seminfo/teste1/bin/Debug/ubuntu.png";
    cout<< "imagens lida="<<imageName<<endl;
    Mat imgLoand = imread( imageName, 1 );
    return imgLoand;
}
static void setTextImg(string text,int x,int y){
///teste
//putText(img,texto,ponto, fonte, tamanhoFonte,cor)
putText(img, text, cvPoint(x,y),FONT_HERSHEY_COMPLEX_SMALL, 0.8, cvScalar(255,255,255), 1, 5);
    //
}
static Mat convertRGB2Gray(Mat img){
Mat gimg;
cvtColor(img,gimg,CV_BGR2GRAY);
return gimg;
}

static void onMouse(int event, int x, int y, int, void*){
cout <<"Y-"<< y <<"/tX-"<< x << endl; //informações do posi do mouse
 //setTextImg(y,10,10);
if( event != EVENT_LBUTTONDOWN ) //somente quando o mouse e pressionado
    return;
//if( event == EVENT_)
img.at<Vec3b>(y,x)=255; //uchar p 1 canal Vec3b p 3 img
imshow(nomeW,img);
}
// then put the text itself

int main()
{
    cout << "Teste" << endl;
    namedWindow(nomeW,CV_WINDOW_NORMAL);
    moveWindow(nomeW,500,500);
    setTextImg("teste",10,10);
    imshow(nomeW,img);
    createTrackbar("Teste",nomeW,0,255,0);
    setMouseCallback(nomeW,onMouse);
    //waitKey(-1);
    for(;;){

    int c =waitKey(0);
    if( (c & 255) == 27 )
        {
            cout << "Exiting ...\n";
            break;
        }
    switch( (char)c )
                    {
                    case 'c':
                            if( isColor )
                                        {
                                            cout << "Grayscale mode is set\n";
                                            imshow(nomeW,convertRGB2Gray(img));
                                            // mask = Scalar::all(0);
                                            isColor = false;
                                        }
                            else
                                        {
                                            cout << "Color mode is set\n";
                                            imshow(nomeW,img);
                                          // mask = Scalar::all(0);
                                            isColor = true;
                                        }
                    }
            }
    destroyWindow(nomeW);
    return 0;
}
avatar
juk

Mensagens : 225
Data de inscrição : 02/04/2012

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum