前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >OpenCV项目(29)|魔法换天​

OpenCV项目(29)|魔法换天​

作者头像
用户9831583
发布2022-06-16 16:40:11
2690
发布2022-06-16 16:40:11
举报
文章被收录于专栏:码出名企路

如今智能手机里都有个“魔法换天”的特效,现看下如何实现的呢?

原始图

代码语言:javascript
复制
enum MyShape{MyCIRCLE=0,MyRECTANGLE,MyELLIPSE};

struct ParamColorMap {
    int iColormap;
    Mat img;
};

String winName="False color";
static const String ColorMaps[] = { "Autumn", "Bone", "Jet", "Winter", "Rainbow", "Ocean", "Summer", "Spring",
                                    "Cool", "HSV", "Pink", "Hot", "Parula", "Magma", "Inferno", "Plasma", "Viridis",
                                    "Cividis", "Twilight", "Twilight Shifted", "Turbo", "User defined (random)" };
    ParamColorMap  p;
    Mat img;

    if (argc > 1)
        img = imread((argv[1]), IMREAD_GRAYSCALE);
        
    p.img=img;
    p.iColormap=0;

灰度图

代码语言:javascript
复制
 imshow("Gray image",img);
 namedWindow(winName);

魔法换天

代码语言:javascript
复制
static void TrackColorMap(int x, void *r)
{
    ParamColorMap *p = (ParamColorMap*)r;
    Mat dst;
    p->iColormap= x;
    if (x == COLORMAP_COOL+ 1)
    {
        Mat lutRND(256, 1, CV_8UC3);
        randu(lutRND, Scalar(0, 0, 0), Scalar(255, 255, 255));
        applyColorMap(p->img, dst, lutRND);
    }
    else
        applyColorMap(p->img,dst,p->iColormap);

    putText(dst, "Colormap : "+ColorMaps[p->iColormap], Point(10, 20), FONT_HERSHEY_SIMPLEX, 0.8, Scalar(255, 255, 255),2);
    imshow(winName, dst);
}

秋天

代码语言:javascript
复制
    createTrackbar("colormap", winName,&p.iColormap,1,TrackColorMap,(void*)&p);
    setTrackbarMin("colormap", winName, COLORMAP_AUTUMN);
    setTrackbarMax("colormap", winName, COLORMAP_COOL+1); 
    setTrackbarPos("colormap", winName, -1);

    TrackColorMap(0, (void*)&p);

    cout << "Press a key to exit" << endl;
    waitKey(0);

春天

冬天


本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码出名企路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档