当前位置:   article > 正文

Matlab图像处理——面部、眼睛、鼻子、嘴巴部位检测_detectedimg

detectedimg

人工智能技术在图像处理领域有了广泛的应用。其中,人脸检测技术是其中一个热门的研究方向。通过人脸检测技术,我们可以识别图片中的人脸,从而实现不同的应用。利用vision.CascadeObjectDetector()函数,我们可以轻松地检测出一张图片中的人脸、眼睛、鼻子和嘴巴等部位,但其存在一些不准确的问题。下面,我们来看一下具体的实现过程。

f4eb24ae27968979f5df6836b2a6cef3.jpeg

首先将图片读入MATLAB环境中。接下来创建人脸检测器对象。调用vision.CascadeObjectDetector()函数,并将其存储在变量faceDetector中,表示要进行人脸检测。然后调用step()函数,对图片进行人脸检测,并将结果存储在变量bbox中。最后绘制检测边框并显示结果。

1.人脸检测

  1. clear
  2. clc
  3. % 加载图像
  4. img = imread('1.jpg');
  5. % 创建人脸检测器对象
  6. faceDetector = vision.CascadeObjectDetector();
  7. % 进行人脸检测
  8. bbox = step(faceDetector, img);
  9. % 绘制检测边框
  10. detectedImg = insertShape(img, 'Rectangle', bbox, 'LineWidth', 3);
  11. figure
  12. % 显示结果
  13. imshow(detectedImg);

fff4b2e46a041f5e6abce9860d901813.jpeg

2.眼睛检测

  1. %% 眼睛检测:
  2. clear
  3. clc
  4. % 加载图像
  5. img = imread('1.jpg');
  6. % 创建眼睛检测器对象
  7. eyeDetector = vision.CascadeObjectDetector('EyePairBig');
  8. % 进行眼睛检测
  9. bbox = step(eyeDetector, img);
  10. % 绘制检测边框
  11. detectedImg = insertShape(img, 'Rectangle', bbox, 'LineWidth', 3);
  12. figure
  13. % 显示结果
  14. imshow(detectedImg);

591c4f1ae2dfca0835436db1af224c41.jpeg

3.鼻子检测

  1. %% 鼻子检测:
  2. clear
  3. clc
  4. % 加载图像
  5. img = imread('1.jpg');
  6. % 创建鼻子检测器对象
  7. noseDetector = vision.CascadeObjectDetector('Nose');
  8. % 进行鼻子检测
  9. bbox = step(noseDetector, img);
  10. % 绘制检测边框
  11. detectedImg = insertShape(img, 'Rectangle', bbox, 'LineWidth', 3);
  12. figure
  13. % 显示结果
  14. imshow(detectedImg);

964c70072de31fa9062c63370d5e3ef1.jpeg

4.嘴巴检测(检测效果不佳)

  1. %% 嘴巴检测:
  2. clear
  3. clc
  4. % 加载图像
  5. img = imread('1.jpg');
  6. % 创建嘴巴检测器对象
  7. mouthDetector = vision.CascadeObjectDetector('Mouth');
  8. % 进行嘴巴检测
  9. bbox = step(mouthDetector, img);
  10. % 绘制检测边框
  11. detectedImg = insertShape(img, 'Rectangle', bbox, 'LineWidth', 3);
  12. figure
  13. % 显示结果
  14. imshow(detectedImg);

e86985cad8af418ad153b84a0d47eb1a.jpeg

5.上半身检测(效果不佳)

  1. %% 上半身检测
  2. clear
  3. clc
  4. % 加载图像
  5. img = imread('1.jpg');
  6. % 创建上半身检测器对象
  7. upperBodyDetector = vision.CascadeObjectDetector('UpperBody');
  8. % 进行上半身检测
  9. bbox = step(upperBodyDetector, img);
  10. % 绘制检测边框
  11. detectedImg = insertShape(img, 'Rectangle', bbox, 'LineWidth', 3);
  12. % 显示结果
  13. imshow(detectedImg);

4f64d98cdfa347ac6d608e4dfde3249c.jpeg

通过以上代码,我们可以实现对一张图片进行人脸、眼睛、鼻子和嘴巴的检测,并绘制检测边框。这种技术在很多应用中都有着广泛的应用,比如人脸识别、面部表情分析等等。如果你对代码感兴趣,不妨亲自尝试一下吧。

最后:

如果你想要进一步了解更多的相关知识,可以关注下面公众号联系~会不定期发布相关设计内容包括但不限于如下内容:信号处理、通信仿真、算法设计、matlab appdesigner,gui设计、simulink仿真......希望能帮到你!

517523275cdc4c43a5a9f4c8aaf8cbcd.png

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/324715
推荐阅读
相关标签
  

闽ICP备14008679号