#include <stdio.h>
#include <cv.h>
#include <highgui.h>
int main(int argc,char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
IplImage *img=cvCreateImage(cvSize(400,300),8,3);
uchar *data=(uchar*)img->imageData;
int step=img->widthStep;
int i,j,k;
for(i=0;i<img->height;i++)
{
for(j=0;j<img->width;j++)
{
for(k=0;k<img->nChannels;k++)
{
data[i*step+j*img->nChannels+k]=255;
}
}
}
void mycallback(int event, int x, int y, int flags, void *param)
{
IplImage *img=(IplImage*)param;
// IplImage *src=cvCloneImage(img);
CvFont font;
// char text[20];
CvPoint point; //static
QString label; //static
if(event==CV_EVENT_LBUTTONDOWN)
{
point=cvPoint(x,y);
label=QInputDialog::getText(0,"input dialog","enter the words that you want to display",QLineEdit::Normal,"label");
//where the problem is
// label="hello";
QByteArray ba=label.toLatin1();
const char *c_str=ba.data(); //transform
cvInitFont(&font,CV_FONT_HERSHEY_SIMPLEX,1,1,0,1,8);
cvPutText(img,c_str,point,&font,CV_RGB(255,0,0));
cvShowImage("img",img);
}
}
#include <cv.h>
#include <highgui.h>
#include <QInputDialog>
void mycallback(int event,int x,int y,int flags,void* param);int main(int argc,char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
IplImage *img=cvCreateImage(cvSize(400,300),8,3);
uchar *data=(uchar*)img->imageData;
int step=img->widthStep;
int i,j,k;
for(i=0;i<img->height;i++)
{
for(j=0;j<img->width;j++)
{
for(k=0;k<img->nChannels;k++)
{
data[i*step+j*img->nChannels+k]=255;
}
}
}
cvNamedWindow("img",CV_WINDOW_AUTOSIZE);
while(1)
{
cvShowImage("img",img);
cvSetMouseCallback("img",mycallback,img);
char c=cvWaitKey(0);
if (c==27) break;
}
void mycallback(int event, int x, int y, int flags, void *param)
{
IplImage *img=(IplImage*)param;
// IplImage *src=cvCloneImage(img);
CvFont font;
// char text[20];
CvPoint point; //static
QString label; //static
if(event==CV_EVENT_LBUTTONDOWN)
{
point=cvPoint(x,y);
label=QInputDialog::getText(0,"input dialog","enter the words that you want to display",QLineEdit::Normal,"label");
//where the problem is
// label="hello";
QByteArray ba=label.toLatin1();
const char *c_str=ba.data(); //transform
cvInitFont(&font,CV_FONT_HERSHEY_SIMPLEX,1,1,0,1,8);
cvPutText(img,c_str,point,&font,CV_RGB(255,0,0));
cvShowImage("img",img);
}
}