-
新手出战,如有不严谨不规范不正确请指出,共同进步,谢谢!拓展作业我选取了五张不同图片[正面人脸,较小人脸,侧面人脸,多张人脸,卡通人脸],话不多说直接上三种测试结果图:一、正面人脸①dlib②MTCNN③OpenCV二、较小人脸①dlib②MTCNN③OpenCV三、侧面人脸①dlib②MTCNN③OpenCV四、多张人脸①dlib②MTCNN③OpenCV五、卡通人脸①dlib②MTCNN③OpenCV从上面的截图中我们观察到:dlib的计算时间大约在6-7秒MTCNN的计算时间大约在3秒左右OpenCV的计算时间大约在3秒左右,个别情况下会达到6秒下面来说说我的看法(通俗些,可能不太规范):dlib在三种人脸测试中是最为精准精细的,同样耗时最长。68个点可以很清晰的看出五官位置我们可以根据点描绘出人脸原貌,但是局限于清晰的正面照,而且侧面人脸识别不出来,多张人脸照无法全部识别MTCNN是三种人脸测试中最为中规中矩的,耗时适中,侧面人脸照可以识别出来,OpenCV是完全识别不出来的,dlib无法精准识别,但是MTCNN对于多张人脸的识别就无法全部识别出来OpenCV是三种人脸测试中最为迅速通用的,耗时适中,侧面人脸照完全识别不出来,但是多张人脸都可以识别出来,方框区域较大,相较另外两种测试方法,不是那么的精准。我认为三种人脸测试适用的场景与领域:dlib适用于实时测谎仪(眉毛一动,嘴角抽搐,你说谎了!私房钱被找到了),医疗领域(脸部穴位,远程医疗,操作机械手臂)MTCNN适用于占卜看面相(2020你们都会发财!),制作真人表情包(脑袋是个可爱的居头)OpenCV适用于打卡(不需要太精密),智能证件照服务(整个截取下来,抠个图就能用了)以上就是我关于三种人脸测试的测试及看法,谢谢!
-
【转载华为云社区】一、绪言: 人脸检测技术在我们生活中经常被用到,人脸面部识别、年龄以及表情的识别都是以人脸为基础。目前常用的人脸检测工具有:MTCNN方式、dlib、OpenCV Haar级联分类器等方式。 人脸检测工具使用常见问题如下: 安装时间长 检测时间长 图片中的较小人脸检测效果差 图片中的侧面人脸检测效果差 对图片中多张人脸无法全部检测出来等等问题,这些问题也同样是人脸检测算法面临的挑战。 本文将对MTCNN、dlib、OpenCV三种工具进行测试对比。二、工具简介:MTCNN: 官网:https://kpzhang93.github.io/MTCNN_face_detection_alignment/ MTCNN的安装和使用都十分简单,完成人脸区域检测人脸对齐及5个人脸关键点(双眼,鼻子,嘴角)检测但对于人脸识别,年龄表情等任务已经足够,所以使用十分普遍。 2.dlib: 官网: http://dlib.net/. dlib是一个机器学习工具库,类似OpenCV,里面预置了一些开发好的传统机器学习算法和深度学习算法。 本案例使用dlib工具库进行人脸区域检测和68个人脸关键点检测。 3.OpenCV(Haar+Adaboost,后文以OpenCV代替): 官网: https://opencv.org/ OpenCV是一个开源的计算机视觉库,它提供了很多函数,这些函数非常高效地实现了计算机视觉算法(最基本的滤波到高级的物体检测皆有涵盖)。 OpenCV 的应用领域非常广泛,包括图像拼接、图像降噪、产品质检、人机交互、人脸识别、动作识别、动作跟踪、无人驾驶等。三、实验对比比较: 实验环境: ModelArts nootbook开发环境 - v100 GPU- TensorFlow 1.13 耗时计算仅包含测试图片读取及代码库加载时间,不包含测试结果显示耗时 1.正面单脸图片 实验 1.1.MTCNN(单脸正面): 上图是单脸图片的人脸检测,MTCNN耗时大概3s多(含模型加载等,与图片大小等亦有关,下同),含5个关键点,检测结果可见比较准确,但仍有少部分轮廓未能完全检测。 1.2.dlib(单脸正面):相对MTCNN来说,dlib单脸检测速度更快一些,但未能完全检测出全部脸轮廓,含68个关键点信息,但此处不显示。 1.3.OpenCV(单脸正面): 相对MTCNN和dlib而言,OpenCV检测速度更快,定性来看,检测结果几乎能全部包含脸部轮廓,但有非脸部部分会被误认为是脸部。无关键点信息。 2.正面多脸含小脸图片 实验 2.1 MTCNN(多脸 正面 小脸): 仅有小脸的boundding box检测出。可能是程序参数设置导致的,比如OpenCV工具默认有3个矩形框同时存在才认为匹配成功,下同。 速度较慢,单看小脸检测出的结果,准确度较高。 2.2 dlib(多脸 正面 小脸):仅有大脸的boundding box检测出。 速度相对于MTCNN有所提升,单看大脸检测出的结果,准确度不如MTCNN。含68个关键点信息,但此处不显示。 2.3 OpenCV(多脸 正面 小脸): 结果可见最小脸并没有检测出。 速度仍是三者中最快的,准确度一般,和单脸正面图片检测类似,仍然会有非脸部分被误认为是脸部。四、结果分析: 综合定性比较来看: 在检测准确度(检测框与真实脸部对比,非整体检测结果准确度)方面 MTCNN要好于dlib和OpenCV 在检测速度方面,OpenCV(Haar+Adaboost)明显优于MTCNN和dlib 以上仅为个人定性分析结果。如果需要定量分析,可考虑计算预测bounding box与ground truth bounding box的IoU等定量方式加以比较。五、程序: 1.MTCNN 2.dlib3.OpenCV六、参考链接: MTCNN: https://kpzhang93.github.io/MTCNN_face_detection_alignment/ https://nbviewer.jupyter.org/github/huaweicloud/ModelArts-Lab/blob/master/notebook/DL_face_age_prediction/face_age_prediction.ipynb dlib: https://nbviewer.jupyter.org/github/huaweicloud/ModelArts-Lab/blob/master/notebook/DL_face_detector/face_detection.ipynb OpenCV: https://bbs.huaweicloud.com/blogs/179012
-
一、绪言: 人脸检测技术在我们生活中经常被用到,人脸面部识别、年龄以及表情的识别都是以人脸为基础。目前常用的人脸检测工具有:MTCNN方式、dlib、OpenCV Haar级联分类器等方式。 人脸检测工具使用常见问题如下: 安装时间长 检测时间长 图片中的较小人脸检测效果差 图片中的侧面人脸检测效果差 对图片中多张人脸无法全部检测出来等等问题,这些问题也同样是人脸检测算法面临的挑战。 本文将对MTCNN、dlib、OpenCV三种工具进行测试对比。二、工具简介:MTCNN: 官网:https://kpzhang93.github.io/MTCNN_face_detection_alignment/ MTCNN的安装和使用都十分简单,完成人脸区域检测人脸对齐及5个人脸关键点(双眼,鼻子,嘴角)检测但对于人脸识别,年龄表情等任务已经足够,所以使用十分普遍。 2.dlib: 官网: http://dlib.net/. dlib是一个机器学习工具库,类似OpenCV,里面预置了一些开发好的传统机器学习算法和深度学习算法。 本案例使用dlib工具库进行人脸区域检测和68个人脸关键点检测。 3.OpenCV(Haar+Adaboost,后文以OpenCV代替): 官网: https://opencv.org/ OpenCV是一个开源的计算机视觉库,它提供了很多函数,这些函数非常高效地实现了计算机视觉算法(最基本的滤波到高级的物体检测皆有涵盖)。 OpenCV 的应用领域非常广泛,包括图像拼接、图像降噪、产品质检、人机交互、人脸识别、动作识别、动作跟踪、无人驾驶等。三、实验对比比较: 实验环境: ModelArts nootbook开发环境 - v100 GPU- TensorFlow 1.13 耗时计算仅包含测试图片读取及代码库加载时间,不包含测试结果显示耗时 1.正面单脸图片 实验 1.1.MTCNN(单脸正面): 上图是单脸图片的人脸检测,MTCNN耗时大概3s多(含模型加载等,与图片大小等亦有关,下同),含5个关键点,检测结果可见比较准确,但仍有少部分轮廓未能完全检测。 1.2.dlib(单脸正面): 相对MTCNN来说,dlib单脸检测速度更快一些,但未能完全检测出全部脸轮廓,含68个关键点信息,但此处不显示。 1.3.OpenCV(单脸正面): 相对MTCNN和dlib而言,OpenCV检测速度更快,定性来看,检测结果几乎能全部包含脸部轮廓,但有非脸部部分会被误认为是脸部。无关键点信息。 2.正面多脸含小脸图片 实验 2.1 MTCNN(多脸 正面 小脸): 仅有小脸的boundding box检测出。可能是程序参数设置导致的,比如OpenCV工具默认有3个矩形框同时存在才认为匹配成功,下同。 速度较慢,单看小脸检测出的结果,准确度较高。 2.2 dlib(多脸 正面 小脸): 仅有大脸的boundding box检测出。 速度相对于MTCNN有所提升,单看大脸检测出的结果,准确度不如MTCNN。含68个关键点信息,但此处不显示。 2.3 OpenCV(多脸 正面 小脸): 结果可见最小脸并没有检测出。 速度仍是三者中最快的,准确度一般,和单脸正面图片检测类似,仍然会有非脸部分被误认为是脸部。四、结果分析: 综合定性比较来看: 在检测准确度(检测框与真实脸部对比,非整体检测结果准确度)方面 MTCNN要好于dlib和OpenCV 在检测速度方面,OpenCV(Haar+Adaboost)明显优于MTCNN和dlib 以上仅为个人定性分析结果。如果需要定量分析,可考虑计算预测bounding box与ground truth bounding box的IoU等定量方式加以比较。五、程序: 1.MTCNN 2.dlib 3.OpenCV 六、参考链接: MTCNN: https://kpzhang93.github.io/MTCNN_face_detection_alignment/ https://nbviewer.jupyter.org/github/huaweicloud/ModelArts-Lab/blob/master/notebook/DL_face_age_prediction/face_age_prediction.ipynb dlib: https://nbviewer.jupyter.org/github/huaweicloud/ModelArts-Lab/blob/master/notebook/DL_face_detector/face_detection.ipynb OpenCV: https://bbs.huaweicloud.com/blogs/179012
-
http s://cloud.189.cn/t/QfArq2i6n6j2 (访问码:ttv0)参考了https://bbs.huaweicloud.com/forum/thread-53302-1-1.html这个是编译好的。是一个tar包,不要在windows下解压,直接拖到hilens里边解压。压缩包内的文件如下: 在hilens中需要替换以下文件。请替换之前做好备份,搞坏不负责。 /usr/lib64/python3.7/site-packages/cv2.cpython-37m-aarch64-linux-gnu.so 替换为 上图python3文件夹中的 文件。注意,需要改名。将压缩包内的.so后缀的文件,扔到 /usr/lib64/中。/home/hilens/skillframework/lib下libopencv_world.so,替换成新产生的libopencv_world.so
-
Error running link command: No such file or directory3rdparty/quirc/CMakeFiles/quirc.dir/build.make:146: recipe for target '3rdparty/lib/libquirc.a' failedmake[2]: *** [3rdparty/lib/libquirc.a] Error 2CMakeFiles/Makefile2:640: recipe for target '3rdparty/quirc/CMakeFiles/quirc.dir/all' failedmake[1]: *** [3rdparty/quirc/CMakeFiles/quirc.dir/all] Error 2make[1]: *** 正在等待未完成的任务....此外:cmake 版本为3.5.1
-
【转载华为云社区】人脸检测技术在我们生活中经常被用到,人脸面部识别、年龄以及表情的识别都是以人脸为基础。接下来我分享一下最近整理的开源人脸检测工具,由于篇幅较长,所以打算将此作为一个专栏,希望能给AI实战营的小伙伴们提供帮助!目前常用的人脸检测工具有:OpenCV Haar级联分类器、MTCNN方式、dlib方式...(后续会继续补充),首先介绍一下OpenCV.....什么是OpenCV?OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,它提供了很多函数,这些函数非常高效地实现了计算机视觉算法(最基本的滤波到高级的物体检测皆有涵盖)。OpenCV 使用 C/C++ 开发,同时也提供了 Python、Java、MATLAB 等其他语言的接口。OpenCV 是跨平台的,可以在 Windows、Linux、Mac OS、Android、iOS 等操作系统上运行。OpenCV 的应用领域非常广泛,包括图像拼接、图像降噪、产品质检、人机交互、人脸识别、动作识别、动作跟踪、无人驾驶等。(以上源于百度搜索)什么是级联分类器?大致知道OpenCV的作用后,来看下Haar特征+Adaboost级联分类器,Haar特征算子就是下图的所有黑色矩阵的像素值减去所有白色矩阵像素值的和。Haar特征可以在检测窗口中由放大+平移产生一系列子特征。可以简单理解为算子在图片上横扫过去生成多个框检索是否有人脸的存在准备工作打开ModelArts控制台选择notebook:点击new,选择Tensorflow1.13.1框架。如图:注:Modelarts中安装好了OpenCV供我们使用,无需再次安装。将测试图片先上传到notebook中,如图,点击Upload上传自己的本地图片:代码实战将haarcascade_frontalface_alt.xml用path变量存储起来。接下来配置分类器,读取图片后进行灰度化处理,处理完将图片传入检测器中检测。haarcascade_frontalface_alt.xml文件可以理解为模型,存储了6061个特征,38个阶段,算子的位置大小形状,直接使用即可。下图给出detectMultiScale检测函数中的参数介绍:第六行代码中detectMultiScale方法中和第一种方法中介绍的一样,gray就是image,1.3代表scaleFactor,5是minNeighbors。最后输出图片结果:解释下最后一句from PIL import Image,PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库。由于我们对图片进行灰度处理,需要从numpy数组格式转换回image格式,故使用Image.fromarray(img)。文中所述的完整代码如下,欢迎大家参考学习!path="/home/ma-user/anaconda3/envs/TensorFlow-1.13.1/lib/python3.6/site-packages/cv2/data/haarcascade_frontalface_alt.xml" import cv2 face_cascade = cv.CascadeClassifier(path) #修改为自己的图片文件名 image_path = "./img_nini.jpeg" img = cv.imread(image_path) gray = cv.cvtColor(img,cv.COLOR_BGR2GRAY) faces = face_cascade.detectMultiScale(gray,1.3,5) for(x,y,w,h) in faces: cv.rectangle(img,(x,y),(x+w,y+h),(0,255,0),2) img = cv.cvtColor(img,cv.COLOR_BGR2RGB) from PIL import Image Image.fromarray(img)
-
请教:有没有atlas500安装opencv的教程?
-
编译opencv4.1.2,4.2.0都会出现这个错误,已经成功编译了x264,gflags,ffmpeg都可以输入命令:cmake -DCMAKE_TOOLCHAIN_FILE=/home/ubuntu/huawei/Euler.cmake -DCMAKE_INSTALL_PREFIX=/home/ubuntu/huawei/huaweilib/opencv -DWITH_WEBP=OFF -DBUILD_opencv_world=ON ..make
-
新手求助,如何在atlas500上编译安装opencv?
-
遇到同样的问题,在windows上可以正常打开视频,在其他环境下也可以用opencv正常打开视频,也安装了ffmpeg代码如下:结果如下:
-
请问ATLAS 200DK目标跟踪算法库怎么添加呢?程序中创建KCF对象 诸如Ptr<TrackerKCF> tracker=TrackerKCF::creat();时报错,头文件中已#include<opencv2/tracking.hpp> 和#include<opencv2/tracking/tracker.hpp> build时都不通过。问题求助!!
-
交叉编译BGSLibrary的时候,因为要添加OpenCV的依赖,于是传入了DDK中OpenCV的路径,但是在执行make时,报错找不到OpenCV的库方法传入路径如下:set(OpenCV_VERSION 4.1.0)set(OpenCV_LIBS /opt/atlas200/ddk/RC/host-aarch64_ubuntu16.04/lib/libopencv_world.so.4.1)set(OpenCV_INCLUDE_DIRS /opt/atlas200/ddk/include/third_party/opencv/include/opencv2/)make报错如下:[ 99%] Building CXX object CMakeFiles/bgslibrary.dir/src/VideoCapture.cpp.o[100%] Linking CXX executable bgslibraryCMakeFiles/bgslibrary.dir/src/FrameProcessor.cpp.o: In function `bgslibrary::FrameProcessor::process(cv::Mat const&)':/home/***********/code/bgslibrary-master/src/FrameProcessor.cpp:184: undefined reference to `cv::_OutputArray::_OutputArray(cv::Mat&)'CMakeFiles/bgslibrary.dir/src/PreProcessor.cpp.o: In function `cv::Mat::clone() const':/usr/include/opencv2/core/mat.hpp:335: undefined reference to `cv::_OutputArray::_OutputArray(cv::Mat&)'CMakeFiles/bgslibrary.dir/src/PreProcessor.cpp.o: In function `bgslibrary::PreProcessor::process(cv::Mat const&, cv::Mat&)':/home/***********/code/bgslibrary-master/src/PreProcessor.cpp:33: undefined reference to `cv::_OutputArray::_OutputArray(cv::Mat&)'/home/***********/code/bgslibrary-master/src/PreProcessor.cpp:37: undefined reference to `cv::_OutputArray::_OutputArray(cv::Mat&)'/home/***********/code/bgslibrary-master/src/PreProcessor.cpp:51: undefined reference to `cv::_InputArray::_InputArray(cv::Mat const&)'/usr/include/opencv2/core/core.hpp:4733: undefined reference to `cv::CommandLineParser::getString(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'/usr/include/opencv2/core/core.hpp:4734: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > cv::CommandLineParser::analyzeValue<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'CMakeFiles/bgslibrary.dir/src/VideoAnalysis.cpp.o: In function `int cv::CommandLineParser::get<int>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)':/usr/include/opencv2/core/core.hpp:4733: undefined reference to `cv::CommandLineParser::getString(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'/usr/include/opencv2/core/core.hpp:4734: undefined reference to `int cv::CommandLineParser::analyzeValue<int>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'CMakeFiles/bgslibrary.dir/src/VideoAnalysis.cpp.o: In function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > cv::CommandLineParser::get<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)':/usr/include/opencv2/core/core.hpp:4733: undefined reference to `cv::CommandLineParser::getString(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'/usr/include/opencv2/core/core.hpp:4734: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > cv::CommandLineParser::analyzeValue<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'CMakeFiles/bgslibrary.dir/src/VideoAnalysis.cpp.o: In function `int cv::CommandLineParser::get<int>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)':/usr/include/opencv2/core/core.hpp:4733: undefined reference to `cv::CommandLineParser::getString(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'/usr/include/opencv2/core/core.hpp:4734: undefined reference to `int cv::CommandLineParser::analyzeValue<int>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'CMakeFiles/bgslibrary.dir/src/VideoCapture.cpp.o: In function `bgslibrary::VC_ROI::VideoCapture_on_mouse(int, int, int, int, void*)':/home/***********/code/bgslibrary-master/src/VideoCapture.cpp:60: undefined reference to `cv::_OutputArray::_OutputArray(cv::Mat&)'/home/***********/code/bgslibrary-master/src/VideoCapture.cpp:63: undefined reference to `cv::rectangle(cv::Mat&, cv::Point_<int>, cv::Point_<int>, cv::Scalar_<double> const&, int, int, int)'/home/***********/code/bgslibrary-master/src/VideoCapture.cpp:64: undefined reference to `cv::_InputArray::_InputArray(cv::Mat const&)'CMakeFiles/bgslibrary.dir/src/VideoCapture.cpp.o: In function `bgslibrary::VideoCapture::setUpCamera()':/home/***********/code/bgslibrary-master/src/VideoCapture.cpp:100: undefined reference to `cv::VideoCapture::open(int)'CMakeFiles/bgslibrary.dir/src/VideoCapture.cpp.o: In function `bgslibrary::VideoCapture::setUpVideo()':/home/***********/code/bgslibrary-master/src/VideoCapture.cpp:116: undefined reference to `cv::VideoCapture::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'CMakeFiles/bgslibrary.dir/src/VideoCapture.cpp.o: In function `bgslibrary::VideoCapture::start()':/home/***********/code/bgslibrary-master/src/VideoCapture.cpp:147: undefined reference to `cv::VideoCapture::get(int)'/home/***********/code/bgslibrary-master/src/VideoCapture.cpp:164: undefined reference to `cv::_InputArray::_InputArray(cv::Mat const&)'/home/***********/code/bgslibrary-master/src/VideoCapture.cpp:164: undefined reference to `cv::_OutputArray::_OutputArray(cv::Mat&)'/home/***********/code/bgslibrary-master/src/VideoCapture.cpp:224: undefined reference to `cv::_OutputArray::_OutputArray(cv::Mat&)'/home/***********/code/bgslibrary-master/src/VideoCapture.cpp:243: undefined reference to `cv::_InputArray::_InputArray(cv::Mat const&)'/home/***********/code/bgslibrary-master/src/VideoCapture.cpp:240: undefined reference to `cv::putText(cv::Mat&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cv::Point_<int>, int, double, cv::Scalar_<double>, int, int, bool)'/home/***********/code/bgslibrary-master/src/VideoCapture.cpp:183: undefined reference to `cv::_OutputArray::_OutputArray(cv::Mat&)'/home/***********/code/bgslibrary-master/src/VideoCapture.cpp:187: undefined reference to `cv::_InputArray::_InputArray(cv::Mat const&)'libbgslibrary_core.so: undefined reference to `cv::findContours(cv::_OutputArray const&, cv::_OutputArray const&, int, int, cv::Point_<int>)'libbgslibrary_core.so: undefined reference to `cv::BackgroundSubtractorMOG2::BackgroundSubtractorMOG2()'libbgslibrary_core.so: undefined reference to `cv::BackgroundSubtractor::~BackgroundSubtractor()'libbgslibrary_core.so: undefined reference to `cv::drawContours(cv::_OutputArray const&, cv::_InputArray const&, int, cv::Scalar_<double> const&, int, int, cv::_InputArray const&, int, cv::Point_<int>)'libbgslibrary_core.so: undefined reference to `cv::accumulateProduct(cv::_InputArray const&, cv::_InputArray const&, cv::_OutputArray const&, cv::_InputArray const&)'libbgslibrary_core.so: undefined reference to `cv::DescriptorExtractor::~DescriptorExtractor()'libbgslibrary_core.so: undefined reference to `cv::BackgroundSubtractorMOG2::~BackgroundSubtractorMOG2()'libbgslibrary_core.so: undefined reference to `cv::initModule_video()'libbgslibrary_core.so: undefined reference to `cv::Algorithm::set(char const*, double)'libbgslibrary_core.so: undefined reference to `cv::cvarrToMat(void const*, bool, bool, int)'libbgslibrary_core.so: undefined reference to `cv::Algorithm::read(cv::FileNode const&)'libbgslibrary_core.so: undefined reference to `cv::Algorithm::write(cv::FileStorage&) const'libbgslibrary_core.so: undefined reference to `vtable for cv::_InputArray'libbgslibrary_core.so: undefined reference to `cv::BackgroundSubtractorMOG2::operator()(cv::_InputArray const&, cv::_OutputArray const&, double)'libbgslibrary_core.so: undefined reference to `cv::BackgroundSubtractorMOG::~BackgroundSubtractorMOG()'libbgslibrary_core.so: undefined reference to `cv::Algorithm::set(char const*, int)'libbgslibrary_core.so: undefined reference to `cv::Mat::operator _IplImage() const'libbgslibrary_core.so: undefined reference to `cv::split(cv::Mat const&, std::vector<cv::Mat, std::allocator<cv::Mat> >&)'libbgslibrary_core.so: undefined reference to `cv::_OutputArray::_OutputArray(cv::Mat const&)'libbgslibrary_core.so: undefined reference to `typeinfo for cv::FeatureDetector'libbgslibrary_core.so: undefined reference to `cv::FeatureDetector::empty() const'libbgslibrary_core.so: undefined reference to `cvCalcOpticalFlowPyrLK'libbgslibrary_core.so: undefined reference to `cv::_InputArray::_InputArray(cv::MatExpr const&)'libbgslibrary_core.so: undefined reference to `cv::DescriptorExtractor::empty() const'libbgslibrary_core.so: undefined reference to `cv::Algorithm::_create(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'libbgslibrary_core.so: undefined reference to `cv::BackgroundSubtractorMOG::BackgroundSubtractorMOG()'libbgslibrary_core.so: undefined reference to `cv::FeatureDetector::~FeatureDetector()'libbgslibrary_core.so: undefined reference to `typeinfo for cv::DescriptorExtractor'libbgslibrary_core.so: undefined reference to `cv::BackgroundSubtractor::operator()(cv::_InputArray const&, cv::_OutputArray const&, double)'collect2: error: ld returned 1 exit statusCMakeFiles/bgslibrary.dir/build.make:146: recipe for target 'bgslibrary' failedmake[2]: *** [bgslibrary] Error 1CMakeFiles/Makefile2:109: recipe for target 'CMakeFiles/bgslibrary.dir/all' failedmake[1]: *** [CMakeFiles/bgslibrary.dir/all] Error 2Makefile:129: recipe for target 'all' failedmake: *** [all] Error 2
-
由于需要用到opencv的一些功能,在Mindstudio中需要配置一下参考了sample-facialrecogntion的例程face_feature_mask.cpp,引用的opencv的头文件 #include“opencv2/opencv.hpp”,在CMakeLists.txt中$ENV{DDK_PATH}/include/third_party/opencv/include target_link_libraries(opencv_world),在main.cpp中添加opencv的头文件。编译没问题,但是添加 Mat scrimage 函数后编译报错,error:undefined reference to 'cv::fastFree(void*)'请问大神,这是什么原因,是Mindstudio那配置有问题吗?感谢
-
如图,在执行下面步骤时出现问题问题如下:两次执行都是如此,求解答问题出在哪。
-
如下,目前需要实现圆形指针表和数字表的检测读取功能,读出表的数字,上位机上的办法是用OPENCV的库进行处理,请问Atlas200DK的基本思路是什么?是在编译的Ubuntu环境下安装OPENCV然后再Mindstuio里调用OPENCV库函数对图片进行处理吗?这种情况下Atlas200DK 开发板上还需要安装OPENCV吗?请大神给个思路,或者样例。
上滑加载中
推荐直播
-
DTT年度收官盛典:华为开发者空间大咖汇,共探云端开发创新
2025/01/08 周三 16:30-18:00
Yawei 华为云开发工具和效率首席专家 Edwin 华为开发者空间产品总监
数字化转型进程持续加速,驱动着技术革新发展,华为开发者空间如何巧妙整合鸿蒙、昇腾、鲲鹏等核心资源,打破平台间的壁垒,实现跨平台协同?在科技迅猛发展的今天,开发者们如何迅速把握机遇,实现高效、创新的技术突破?DTT 年度收官盛典,将与大家共同探索华为开发者空间的创新奥秘。
回顾中 -
GaussDB应用实战:手把手带你写SQL
2025/01/09 周四 16:00-18:00
Steven 华为云学堂技术讲师
本期直播将围绕数据库中常用的数据类型、数据库对象、系统函数及操作符等内容展开介绍,帮助初学者掌握SQL入门级的基础语法。同时在线手把手教你写好SQL。
回顾中 -
算子工具性能优化新特性演示——MatMulLeakyRelu性能调优实操
2025/01/10 周五 15:30-17:30
MindStudio布道师
算子工具性能优化新特性演示——MatMulLeakyRelu性能调优实操
即将直播
热门标签