Skip to content

yuanyuanxiang/ObjDetector

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

这是一个MFC(C++)调用Python(TensorFlow)的Visual Studio项目。

# 升级IDE的说明
本人于2024年9月13日将IDE升级为VS2019,按照下述步骤操作,来保证项目成功编译和运行。

(1) 下载OpenCV 3.2
访问"https://github.com/opencv/opencv/releases/download/3.2.0/opencv-3.2.0-vc14.exe"。
解压所下载文件到指定目录,可能需要用CMake编译。将得到头文件目录、库目录和一切所需文件。请根据个人需要操作。
将解压后的OpencCV路径添加到环境变量,名称为OPENCV. 如果不按照本说明命名环境变量,则需要逐个修改项目文件.
OpenCV路径下面包含"include"目录以及库目录(例如,x64\vc14\lib).
可能需配套修改"ObjDetector\config.h"文件中的相关定义.

(2) 下载Python 3.12
安装所下载的文件,注意在安装过程中选择所需的项目。同理,将解压后的Python路径添加到环境变量,名称为PYTHONHOME.
如果不按照本说明命名环境变量,则需要逐个修改项目文件. 由于Python版本升级,部分代码随之变更(pyCaller.h)。

(3) 安装Python库
打开命令行,利用pip安装numpy、pillow、matplotlib、tensorflow。

(4) tensorflow适配
需要调整Python文件:detect.py
参看:https://stackoverflow.com/questions/57614436/od-graph-def-tf-graphdef-attributeerror-module-tensorflow-has-no-attribut
https://stackoverflow.com/questions/56127592/attributeerror-module-tensorflow-has-no-attribute-configproto

(5) 已知问题
在Debug模式下,出现"No module named 'numpy.core._multiarray_umath'"错误,但是在Release模式下是正常的。
objDetector运行报错,但示例CallPython是能正常运行的。

#CallPython
调用TensorFlow对一张图像进行目标检测的例子。

#objDetector
一个基于对话框的调用TensorFlow进行目标检测的例子。

#编译前置条件
0、已训练好的模型(frozen_inference_graph.pb)
1、安装python3.5 64位,安装OpenCV 64位
2、pip install numpy
3、pip install pillow
4、pip install matplotlib
5、pip install tensorflow
6、其他包视情况而定

#编译注意事项

1、为项目添加Python的附加包含目录及库目录,复制pythonXX.lib的备份,并重命名为pythonXX_d.lib;

1、根据个人计算机,编译好openCV,并在stdafx.h或其他链接的位置配置OpenCV版本及路径;

2、error LNK2019: 无法解析的外部符号 __imp___Py_NegativeRefcount、__imp___Py_RefTotal解决方案:

    注释掉object.h文件第56行 #define Py_TRACE_REFS
	
3、根据个人设置,修改Py_SetPythonHome中python的目录(宏:PYTHON_HOME);

4、需要将被调用的 *.py 文件拷贝到生成目录;

5、需要给定目标检测的模型文件,并在相应的 *.py 文件中填写。

#补充说明 2018.6.3

本程序测试所用的模型:Faster R-CNN with Inception v2(faster_rcnn_inception_v2)

有问题,请联系:yuan_yuanxiang@163.com

															2018-4-16

															袁沅祥 注

About

一个Visual C++调用python tensorflow模型进行目标识别的实例。

Resources

Stars

12 stars

Watchers

2 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors