问题一:在python3.6+dlib+opencv环境配置成功后,想要实现人脸检测功能,把dlib代码复制,按F5运行时出现launch.json错误。
解决方案:
问题二:dlib中python语言人脸识别中语句问题os.path.join(faces_folder_path, "*.jpg")
解决方案:
os.path.join()函数用于路径拼接文件路径。
os.path.join()函数中可以传入多个路径:
会从第一个以”/”开头的参数开始拼接,之前的参数全部丢弃。
以上一种情况为先。在上一种情况确保情况下,若出现”./”开头的参数,会从”./”开头的参数的上一个参数开始拼接。
import os
print("1:",os.path.join('aaaa','/bbbb','ccccc.txt'))
print("2:",os.path.join('/aaaa','/bbbb','/ccccc.txt'))
print("3:",os.path.join('aaaa','./bbb','ccccc.txt'))
输出为
1: /bbbb\ccccc.txt
2: /ccccc.txt
3: aaaa\./bbb\ccccc.txt
问题三:在windows用命令行创建新文件
解决方案:
①window+R打开命令窗口输入cmd
②输入 D: (即进入D盘),输入dir (即查看D盘所有文件)
③输入cd python(即进入python文件夹)
③输入md faces_folder_path即在python中添加faces_folder_path文件夹
问题四:from skimage import io模块出错,未安装skimage模块
解决方案:skimage模块全称scikit-image SciKit。
基于python脚本语言开发的数字图片处理包,比如PIL,Pillow, opencv, scikit-image等。
PIL和Pillow只提供最基础的数字图像处理,功能有限;opencv实际上是一个c++库,只是提供了python接口,更新速度非常慢。scikit-image是基于scipy的一款图像处理包,它将图片作为numpy数组进行处理,正好与matlab一样,因此,我们最终选择scikit-image进行数字图像处理。
因为本次项目用opencv实现,所以先尝试用opencv,暂且放下skimage.
问题五:opencv的图像处理,图片读取函数的调用
使用cv2.imread(),cv2.imshow(),cv2.imwrite()读取,显示和保存图像
1、 cv2.imread():读入图片,共两个参数,第一个参数为要读入的图片文件名,第二个参数为如何读取图片,包括cv2.IMREAD_COLOR:读入一副彩色图片;cv2.IMREAD_GRAYSCALE:以灰度模式读入图片;cv2.IMREAD_UNCHANGED:读入一幅图片,并包括其alpha通道。
2、cv2.imshow():创建一个窗口显示图片,共两个参数,第一个参数表示窗口名字,可以创建多个窗口中,但是每个窗口不能重名;第二个参数是读入的图片。
3、cv2.waitKey():键盘绑定函数,共一个参数,表示等待毫秒数,将等待特定的几毫秒,看键盘是否有输入,返回值为ASCII值。如果其参数为0,则表示无限期的等待键盘输入。
4、cv2.destroyAllWindows():删除建立的全部窗口。
5、cv2.destroyWindows():删除指定的窗口。
6、cv2.imwrite():保存图片,共两个参数,第一个为保存文件名,第二个为读入图片。
#导入cv模块
import cv2 as cv
#读取图像,支持 bmp、jpg、png、tiff 等常用格式
img = cv.imread("D:/Test/2.jpg")
# "D:\Test\2.jpg" 把/反向就正确了
#创建窗口并显示图像
cv.namedWindow("Image")
cv.imshow("Image",img)
cv.waitKey(0)
#释放窗口
cv.destroyAllWindows()
问题六:CV2中一直有红色下划线,并显示没有imread等模块
解决方案:开头添加语句 from cv2 import cv2 则问题消失。
人脸检测已成功,代码借鉴网址:https://blog.csdn.net/hongbin_xu/article/details/78347484
问题七:python语言执行的几种方式
①使用IDLE即pycharm
②如果配置好path路径,就可以用命令行解释器实现
③在vscode上运行python文件,命令是:python ***.py <路径名>
问题八:代码逐行理解过程
sys.argv参数用法解析:https://blog.csdn.net/zengxyuyu/article/details/53047074