首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

vs2010 qt ocr提醒:程序无法正常启动

2013-08-16 
vs2010 qt ocr提示:程序无法正常启动我想用ocr读取一张图片中的字符显示出来(代码如下),但是运行后提示如

vs2010 qt ocr提示:程序无法正常启动
我想用ocr读取一张图片中的字符显示出来(代码如下),但是运行后提示如下图,以前没遇到过这种情况,网上有的说是vs版本问题,但这个程序是新建的。求高人解释原因?
错误提示:
vs2010 qt ocr提醒:程序无法正常启动

代码:
#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一下试试能不能执行

热点排行