vs2010 qt ocr提示:程序无法正常启动
我想用ocr读取一张图片中的字符显示出来(代码如下),但是运行后提示如下图,以前没遇到过这种情况,网上有的说是vs版本问题,但这个程序是新建的。求高人解释原因?
错误提示:
代码:
#include "ocr_api.h"
#include "baseapi.h"
#include "strngs.h"
#include "allheaders.h"
#include <QFileDialog>
#include <qdebug.h>
Ocr_api::Ocr_api(QWidget *parent, Qt::WFlags flags)
: QMainWindow(parent, flags)
{
ui.setupUi(this);
connect(ui.But_getfile,SIGNAL(clicked()),this,SLOT(getfilename()));
}
Ocr_api::~Ocr_api()
{
}
void Ocr_api::getfilename()
{
QString filename = QFileDialog::getOpenFileName(
this,tr("Open File"),
"/",
tr("Image file(*.png *.bmp *.jpg);;png files(*.png);;jpg files(*.jpg);;bmp files(*.bmp)"));
ui.txtImgfile->setText(filename);
if(!filename.isEmpty())
{
qDebug() << "asdas";
getResult(filename);
}
}
void Ocr_api::getResult(const QString filename)
{
char *outText;
//把QString转化为char*类型
QByteArray ba = filename.toLocal8Bit();
const char* imageName = ba.data();
tesseract::TessBaseAPI *api = new tesseract::TessBaseAPI();
// Initialize tesseract-ocr with English, without specifying tessdata path
if (api->Init(NULL, "eng"))
{
exit(1);
}
// Open input image with leptonica library
Pix *image = pixRead((char*)imageName);
api->SetImage(image);
// Get OCR result
outText = api->GetUTF8Text();
//printf("OCR output:\n%s", outText);
ui.Img_text->setText(outText);
// Destroy used object and release memory
api->End();
delete [] outText;
pixDestroy(&image);
}
Qt Visual?Studio?2010 ocr 程序无法运行
[解决办法]
其他新建的程序可以运行吗?如果其他的可以运行的话,应该是就这个程序有问题,不是vs的问题吧。
我也偶尔会出现这种情况,重启电脑试试。我的情况是,有时候360会把程序的一些文件给处理了,启动不了。重启vs也没用,只能重启电脑
[解决办法]
有没有装过VS SP1补丁,如果没有装的话,debug版的exe不能正常执行,你release一下试试能不能执行