如何阅读文本并将其放入OpenCV中的图像?

时间:2015-07-06 13:20:23

标签: c++ opencv gcc input output

下面是在图像上方写入文本的代码,但我正在寻找图像上方的输入输出操作。我希望该图像作为背景图像,并且用户的所有输入输出如Enter your name(输出)和my name is xyz(输入)应该在图像上方完成。这里我可以使用cvPutText()来写上面的图像但如何从用户那里获得输入。欢迎任何想法或建议..

int main( int argc, char** argv )
{
  IplImage* img = 0;
  img = cvLoadImage( "C:\\Dev-Cpp\\zzPograms\\cv\\152.jpg" );
  cvNamedWindow( "152.jpg", CV_WND_PROP_ASPECTRATIO );
  CvFont *font= new CvFont;
  cvInitFont(font,CV_FONT_VECTOR0,2.0f,4.0f,2,2,2);
  char text[10]="aboveimg"; 
  cvPutText(img,text,Point(100,250),font,CV_RGB(255,6,6));  // Put text on image
                             //what to do here for taking input from user like cin ??
  cvShowImage( "152.jpg", img );
  cvWaitKey(0);
  cvReleaseImage( &img );
  cvDestroyWindow( "152.jpg" );
}

1 个答案:

答案 0 :(得分:1)

我不确定您的图像已经显示时是否要放置文本您首先要从用户那里获取输入,然后想要将其放入图像。

第一种情况:

  1. 要求用户输入字符串
  2. 读取该字符串
  3. 将其转换为char数组
  4. 把它放入char text []
  5. 其余的事情将保持不变。
  6. 第二种情况: 如果您想要感觉用户可以在图像上书写,请执行以下操作:

    while(1)
    {
        1. Read image
        2. char text[10];
        3. ask user to put the text
        4. read the text
        5. convert to the char form
        6. put the text on the image
        7. display the image
        8. waitKey(0);
    }
    
    以这种方式,每次都会询问用户他/她想要放在图像上的文字。

    我不确定你是否真的在寻找它。这只是一个概念。