下面是我在开发过程中的终端实际操作,包括解决代码报错过程:
解决报错参考文章:
error: ‘’ was notin this scope
# 下面是报错1lyl@ubuntu:~/桌面$ vim main.cpp ################################### 添加了彩图转灰度图的代码##################################lyl@ubuntu:~/桌面$ g++ main.cpp -o main -lopencv_videoio -lopencv_core -lopencv_highguimain.cpp: In function ‘int main()’:main.cpp:20:39: error: ‘CV_BGR2GRAY’ was not declared in this scope20 |cvtColor(img_color, img_gray, CV_BGR2GRAY); // 将彩图转换成灰度图(-lopencv_imgproc)|^~~~~~~~~~~lyl@ubuntu:~/桌面$ vim main.cpp ################################### 将CV_BGR2GRAY改成cv::COLOR_BGR2GRAY##################################lyl@ubuntu:~/桌面$ g++ main.cpp -o main -lopencv_videoio -lopencv_core -lopencv_highgui/usr/bin/ld: /tmp/ccOsqEF2.o: undefined reference to symbol '_ZN2cv8cvtColorERKNS_11_InputArrayERKNS_12_OutputArrayEii'/usr/bin/ld: /lib/x86_64-linux-gnu/libopencv_imgproc.so.4.2: error adding symbols: DSO missing from command linecollect2: error: ld returned 1 exit statuslyl@ubuntu:~/桌面$ g++ main.cpp -o main -lopencv_videoio -lopencv_core -lopencv_highgui -lopencv_imgproclyl@ubuntu:~/桌面$ ./mainCamera open success.^C
图4-1 彩图转换成灰度图
直方图均衡化
但是灰度图也有问题,就是人脸的轮廓不是很清晰,此时截取人脸时就会出现误差 。为了解决这个问题,就需要“直方图均衡化”,就是通过调整照片的亮度和对比度,来使人脸更加清晰 。
//终端编译指令/g++ main.cpp -o main -lopencv_videoio -lopencv_core -lopencv_highgui//cpp源代码/#include
图4-2 将灰度图进行直方图均衡化
但注意上述两步不是必须要做,但是做了之后可以提高人脸识别的准确度 。
4.2 编程-图像人脸检测(上)
上一节已经获取了摄像头照片,本节来对照片中的人脸进行检测 。人脸检测的底层原理就是根据人脸的特殊特征,通过卷积等方法在图像中找出最符合这种特征的区域,就认为是人脸 。当然这些特征的采集和辨别都在中有专门的函数 。首先就是“.”中的“类”(级联分类器) 。类中包含很多方法,都是用于检测特定对象的 。下面是自带的特征库:
- 烟台大学是几本大学
- cz是什么航空公司
- 巨峰葡萄产地
- 陀螺产业区块链第六季 | 基于区块链的智能入住系统
- 持续更新 802.11协议中术语学习
- psd格式文件手机怎么打开
- 苹果手机怎么隐藏微信消息
- 【java基础】
- 苹果手机怎么滚动截屏
- 寒露过了是秋天还是冬天 寒露过后属于秋天还是冬天