找回密码
 加入
搜索
楼主: chenronting

[图形处理] 人脸识别功能,从易转AU3

 火.. [复制链接]
 楼主| 发表于 2013-8-4 11:40:51 | 显示全部楼层
回复 7# ceoguang


    使用易语言,在WIN7 X64下面虽然识别速度慢了4倍,但还是能识别出来。
这说明他的DLL应该是没有问题的,不知为何到AU3里就不行了?
是否我们使用的数据类型,在两种系统里要做不同的判断?
本人对此类事情没有头绪,也无基础,请求超版支持!感激不尽!!
发表于 2013-8-4 11:54:06 | 显示全部楼层
学习一下。
 楼主| 发表于 2013-8-4 12:31:53 | 显示全部楼层
回复 17# sango


    问题还没得到解决, 请速来支援~~~~
 楼主| 发表于 2013-8-4 17:15:43 | 显示全部楼层
回复 7# ceoguang


    2003服务器系统测试成功。看来还真是NT6的内核就不行啊。只是为何那个易可以呢
 楼主| 发表于 2013-8-5 10:31:41 | 显示全部楼层
看来是没有人能解决了。算了,就只在Nt 5 下使用也行~~~
发表于 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也不是什么难事
 楼主| 发表于 2013-8-6 13:56:16 | 显示全部楼层
回复 6# ceoguang


    你提供的程序无法执行。提示“程序无法正常启动~~~~~”
发表于 2013-8-10 00:55:29 | 显示全部楼层
这个学习dll调用的好例子
发表于 2013-8-10 06:25:37 | 显示全部楼层
楼主这于强大,
发表于 2013-8-10 06:25:40 | 显示全部楼层
楼主这于强大,
发表于 2013-8-10 13:43:06 | 显示全部楼层
话说,这样的功能主要用在什么地方?还真不知道。
发表于 2013-8-18 00:30:33 | 显示全部楼层
对这方面很感想去,希望能解答
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-6 19:33 , Processed in 0.069259 second(s), 14 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表