OpenCV 学习记录7 图像实时磨皮及皮肤检测

本文介绍了使用OpenCV进行图像磨皮和皮肤检测的技术。通过双边滤波实现磨皮效果,结合RGB转YCrCb颜色空间进行皮肤检测。虽然尝试将两者结合以实现仅对皮肤部分磨皮的目标,但实际操作中遇到了挑战。同时,文中提到的嘴唇上色方法因环境光线影响而效果不稳定。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

今天学习了OpenCV里一些滤波的用法,感觉获益颇深,尤其是其中的双边滤波,完全可以达到磨皮的效果,原来还很纠结要如何实现磨皮美白,原来双边滤波就行了,当然如果要保留一些细节的话可能还需要用其他函数。
废话不说,上代码:


#include <opencv2/core/core.hpp>
#include<opencv2/highgui/highgui.hpp>
#include<opencv2/imgproc/imgproc.hpp>
#include <iostream>

using namespace std;
using namespace cv;


Mat g_srcImage,  g_dstImage5;
int g_nBilateralFilterValue = 15;  //双边滤波参数值,不同数值效果不一样


int main()
{


    VideoCapture capture(0); //从摄像头中获取图像
    while (1)
    {
        if (char(waitKey(1)) == 'q')  break; //长按1ms q键退出;

        capture >> g_srcImage;
        if (!g_srcImage.data) { printf("Oh,no,读取srcImage错误~!\n"); return false; }

        g_dstImage5 = g_srcImage.clone();

        //显示原图
        namedWindow("原图窗口", 1);
        imshow("原图窗口", g_srcImage);

        namedWindow("双边滤波", 1);
        bilateralFilter(g_srcImage, g_dstImage5, g_nBilateralFilterValue, g_nBilateralFilterValue * 2, g_nBilateralFilterValue / 2);
        imshow("双边滤波", g_dstImage5);
        waitKey(30);

  
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值