chenronting 发表于 2013-8-4 11:40:51

回复 7# ceoguang


    使用易语言,在WIN7 X64下面虽然识别速度慢了4倍,但还是能识别出来。
这说明他的DLL应该是没有问题的,不知为何到AU3里就不行了?
是否我们使用的数据类型,在两种系统里要做不同的判断?
本人对此类事情没有头绪,也无基础,请求超版支持!感激不尽!!

sango 发表于 2013-8-4 11:54:06

学习一下。

chenronting 发表于 2013-8-4 12:31:53

回复 17# sango


    问题还没得到解决, 请速来支援~~~~

chenronting 发表于 2013-8-4 17:15:43

回复 7# ceoguang


    2003服务器系统测试成功。看来还真是NT6的内核就不行啊。只是为何那个易可以呢

chenronting 发表于 2013-8-5 10:31:41

看来是没有人能解决了。算了,就只在Nt 5 下使用也行~~~

ceoguang 发表于 2013-8-5 14:29:53

回复 19# chenronting
6楼的BIN可以在你的NT6上运行不?
我不懂E
更不知道E的是不是调用同一个DLL
int _stdcall Distinguish(char* image, char* CascadeFile, double ImgScale, double FaceScale, int Size1, int Size2, int Frequency, int Mode, char* RetFace)
{

        string strFace;
        int retInt;
        Mat img;

        switch(Mode)
        {
                case 1:
                        img = imread( image, 1 );//读入lena图片
                        strFace=FaceDistinguish(img, CascadeFile, ImgScale, FaceScale, Size1, Size2, Frequency);
                       
                        break;
                case 2:
                        {
                                if(PictureFormatJudge(image,FORMAT_BMP)==1)
                                {
                                        IplImage *pImg=BmpTOIpl(image);//bmp转IplImage
                                        cvFlip(pImg,NULL,0);//图像垂直翻转
                                        Mat img1(pImg,0);
                                        img=img1;
                                        strFace=FaceDistinguish(img, CascadeFile, ImgScale, FaceScale, Size1, Size2, Frequency);
                                        cvReleaseImage(&pImg);//释放图
                                }else
                                {
                                        strFace="图像格式错误,目前只支持BMP格式";
                                        retInt=0;
                                }
                        }
                        break;
                default:
                        strFace="检测方式错误";
                        retInt=0;
                        break;
        }
        strcpy(RetFace,strFace.c_str());
return retInt;
上面是DLL的代码
NT6产生的异常位于opencv_objdetect24x.dll中,异常类型为0xC0000005
应该是由DLL代码中if( !cascade.load( CascadeFile ) )//从指定的文件目录中加载级联分类器这句引起的,但是我找不到这个成员函数load的代码,所以无法帮你修复.
不过可以换种方式,如果6#的bin能执行能成功,改成DLL也不是什么难事

chenronting 发表于 2013-8-6 13:56:16

回复 6# ceoguang


    你提供的程序无法执行。提示“程序无法正常启动~~~~~”

wua0550 发表于 2013-8-10 00:55:29

这个学习dll调用的好例子

llhllq2012 发表于 2013-8-10 06:25:37

楼主这于强大,

llhllq2012 发表于 2013-8-10 06:25:40

楼主这于强大,

黑色袜子 发表于 2013-8-10 13:43:06

话说,这样的功能主要用在什么地方?还真不知道。

ke2846 发表于 2013-8-18 00:30:33

对这方面很感想去,希望能解答
页: 1 [2]
查看完整版本: 人脸识别功能,从易转AU3