New file |
| | |
| | | --------------------------è¿ä¸ªå·¥ç¨æ¯CNN模å使ç¨ï¼å
æ¬å¾çééï¼é¢å¤çï¼æ¨¡åæå»ºï¼äººè¸è¯å«ï¼ä¸»è¦æ¯c++è°ç¨py模å---------------- |
| | | ä¸ãå·¥ç¨ç®å½ä¸»è¦æä»¶æ¶æï¼ |
| | | project2|----c++æä»¶ |
| | | |----å·¥ç¨æä»¶slnçåç¼ |
| | | |----requirements.txtæä»¶ï¼ç¨æ¥é
ç½®ç¯å¢ï¼å¨cmd䏿§è¡å½ä»¤ä¸ºpythonè§£éå¨å®è£
åºæéæä»¶ï¼ä¸é¢ä¼è¯´æ |
| | | |----x64æä»¶å¤¹ |
| | | |----Releaseæä»¶å¤¹ |
| | | |----exeç¨åºæä»¶ |
| | | |----py模åæä»¶åæ¨¡åæ§è¡åçææä»¶ãæä»¶å¤¹ |
| | | |----注æï¼modelæä»¶å¤¹ä¸çhaarcascade_frontalface_alt2xmlæä»¶æ¯é
ç½®æä»¶ï¼ä¸æ¯çææä»¶ï¼ä¸»è¦æ¯cv模åè°ç¨æä¾èµçåç±»å¨æä»¶ |
| | | |
| | | äºãc++ç¸å
³æä»¶è¯´æ |
| | | --test.cppæä»¶ |
| | | 说æï¼è¿æ¯è°ç¨CNN_Module宿å¾çééï¼é¢å¤çï¼æ¨¡åæå»ºï¼äººè¸è¯å«è¿å个è¿ç¨ |
| | | è¡¥å
: 1ã对äºpy模åå 载路å¾å¯æç±»ä½¿ç¨è¯´æè¿è¡ç¸å
³æä½ï¼ |
| | | 2ã对äºpy模åè¿è¡ä»£ç 䏿件å 载路å¾åçæè·¯å¾æéæ±å°±ä¿®æ¹æ¨¡åæä»¶ä»£ç |
| | | |
| | | --CNN_Module类使ç¨è¯´æ |
| | | 说æï¼è¿æ¯ä¸ä¸ªç®åçå°è£
ç±»ï¼ç¨äºè°ç¨pythonèæ¬ |
| | | 1ãå¤é¨ç¯å¢é
ç½®ï¼ |
| | | -使ç¨åéè¦å®è£
ç¸å
³çpythonç¯å¢ï¼å
æ¬pythonè§£éå¨åè§£éå¨ä¸çç¬¬ä¸æ¹åº |
| | | -è¿é使ç¨çæ¯3.7.2çæ¬ |
| | | -对åºçç¬¬ä¸æ¹åºå®è£
说æï¼ |
| | | èè使ç¨å
¶ä»èæç¯å¢çå®¹ææ¥éï¼ä¸é¢æ¯è§£å³æªæ½ï¼é¤æ¤ä¹å¤ä¹å¯ä»¥å建ä¸ä¸ªèæç¯å¢ï¼ç¶åå¨èæç¯å¢å®è£
ç¬¬ä¸æ¹åº |
| | | 䏿ºä»£ç åä¸ä¸ªç®å½ä¸ä¼æä¸ä¸ªrequirements.txtæä»¶ï¼ä½¿ç¨pipå·¥å
· |
| | | |
| | | å®è£
ç¬¬ä¸æ¹åºï¼ |
| | | æå¼cmdï¼æ§è¡å½ä»¤ "D:\python\python-3.7.2-amd64-install\Scripts\pip.exe" install |
| | | -r "D:\Desktop\requirements.txt" |
| | | --target "D:\python\python-3.7.2-amd64-install\Lib\site-packages" |
| | | -i https://pypi.tuna.tsinghua.edu.cn/simple |
| | | 说æ: 1ãè¿æ¯è¿è´¯çå½ä»¤ï¼ä¸è¦æ¢è¡ï¼å¯ä»¥ç¨è®°äºæ¬è°æ´ï¼ä¸é¢æ¯å¯¹åºç说æ |
| | | 2ãä½ èªå·±çpython3.7.2ä¸é¢çpip.exeè·¯å¾ï¼ä¸è¬å¨pythonå®è£
ç®å½ä¸çScriptsæä»¶å¤¹ä¸ |
| | | 3ãrequirements.txtæä»¶è·¯å¾ |
| | | 4ãæå®å®è£
ç®å½è·¯å¾ï¼ä¸è¬æ¯pythonå®è£
ç®å½ä¸çLib\site-packages |
| | | 5ãä½¿ç¨æ¸
åéåæºï¼é度快 |
| | | |
| | | |
| | | 2ãc++é
ç½®pythonç¯å¢ï¼ä¸éè¦å¨å±æ§é
ç½®ï¼ä¹ä¸éè¦ç»å·¥ç¨å dllæè
libæä»¶ï¼åªéè¦æ¹å¦ä¸ä»£ç ä¸çè·¯å¾ï¼ |
| | | #pragma comment(lib, "D:/python/python-3.7.2-amd64-install/libs/python37.lib")->第äºä¸ªåæ°æ¹æèªå·±çpythonå®è£
è·¯å¾ä¸libsä¸çpython.libè·¯å¾ |
| | | #include "D:/python/python-3.7.2-amd64-install/include/Python.h"->æ¹æèªå·±çpythonå®è£
è·¯å¾ä¸includeä¸çPython.hè·¯å¾ |
| | | |
| | | 3ãä½¿ç¨æ¹æ³ |
| | | åètset.cppæä»¶ |
| | | ç±»å®ä¾åçæ¶åï¼è°ç¨æé 彿°ï¼åæ¶åå§åpythonè§£éå¨,并导å
¥sysåº(pythonåºæ¬åº)ï¼å è½½å½åç®å½å°sys.path(è¿æ ·å°±è½è¯å«è¿ä¸ªç®å½ä¸ç模åæä»¶) |
| | | ç±»éæ¯çæ¶åï¼è°ç¨ææå½æ°ï¼éæ¾pythonè§£éå¨ï¼åæ¶éæ¾ææå¯¼å
¥ç模å(æä¸ªç§ææååémodulesä¿å导å
¥ç模åï¼é²æ¢å¤æ¬¡å¯¼å
¥) |
| | | å
¶ä»å½æ°è¯´æ |
| | | safeDecrefè½å¤å®å
¨éæ¾PyObjectï¼é²æ¢å¤æ¬¡éæ¾ |
| | | checkErrorè½å¤æ£æ¥pythoné误ï¼å¦æéè¯¯ï¼æåºå¼å¸¸ |
| | | addModuleSearchPathè½å¤æ·»å 模åæç´¢è·¯å¾ï¼å°æ¨¡åæä»¶å
å«è·¯å¾æ·»å å°sys.pathï¼ä¹åå°±å¯ä»¥ä½¿ç¨ä¸é¢ä¸ä¸ªå½æ°å¯¼å
¥å¯¹åºç®å½ä¸ç模åæä»¶(å
æ¬å·¥ç¨å¤) |
| | | importModuleä»
导å
¥æ¨¡åæä»¶ï¼ä¸æ§è¡ä»»ä½èæ¬ï¼åæ°å符串为模ååå |
| | | executeScript1æ¯ææ§è¡èæ¬ä»£ç çæ®µï¼åæ°ä¸ºæ¨¡åååï¼èæ¬ä»£ç çæ®µï¼è¿åå¼PyObjectï¼å
¶ä¸å¦ææ¨¡å没æå¯¼å
¥ï¼ä¼èªå¨å¯¼å
¥ |
| | | executeScript2æ¯ææ§è¡èæ¬ä»£ç çæ®µï¼åæ°ä¸ºæ¨¡åååï¼å½æ°ååï¼åæ°å表ï¼å
³é®ååæ°å表ï¼è¿åå¼ä¸ºPyObject*ï¼è¿åå¼éè¦èªå·±è½¬æ¢æéè¦çç±»åï¼å
¶ä¸å¦ææ¨¡å没æå¯¼å
¥ï¼ä¼èªå¨å¯¼å
¥ |
| | | 注æäºé¡¹: |
| | | 1ãexecuteScript1æ§è¡å¤æ¡è¯å¥æ¶ï¼ä»¥\nä½ä¸ºåå²ç¬¦ |
| | | 2ãæéä¿®æ¹py模å代ç ä¸çè·¯å¾ï¼åæ£è·è·¯å¾æå¾çä¸å®è¦å°å¿ |