兄弟姐妹们,来帮下忙。上网找了一个利用MS的orc识别图片文字。可以用,
但是提取代码出来的时候出错,编译,运行都没问题了。就是启动识别的时候出错。。这个识别的代码就是这一段。参数了网上的资料,觉得没错,硬是不知道怎么做。
参数就是文件路径啦
BOOL CMainFrame::OCRImageFile(CString Name)
{ IDocument *pDoc = new IDocument;
  pDoc->CreateDispatch( "MODI.Document" );
  pDoc->Create(Name);
  pDoc->OCR( 2052, 0, 0 );
  IImages images = pDoc->GetImages();
  long   num =images.GetCount();
  for( int i = 0; i < num; i++ )
  { IImage  image = images.GetItem(i);
  ILayout layout = image.GetLayout();
  
  ::MessageBox(NULL,layout.GetText(),NULL,NULL);
  
  }
  pDoc->Close(0);
  pDoc->ReleaseDispatch();
  delete pDoc;
  return (num > 0) ? TRUE : FALSE;
}

解决方案 »

  1.   

    COM接口不是类,不能用new创建;你这个IDocuemnt是哪里来的?一般使用CoCreateInstance创建COM服务实例,然后用QueryInterface来获取接口。如果使用COM智能指针包装,也可以用其CreateInstance成员函数(非接口方法)来创建实例。
      

  2.   

    楼上应该没错。楼主,我也在做这个东东,你是怎么把bmp,jpg,gif等图片格式转为tif格式的,我用windows自带的"画图"或者gdi+转了,格式虽然是tif,但由于tif的格式非常多,转出来的tif文件并不能够被Microsoft Office Document Imaging识别,请问你是怎么做的?