如何做出半透明和闪光效果

如何做出半透明和闪光效果
 
    一开始看到这样的效果的时候,我感觉非常酷,等到搞明白原理之后,才发现原来很酷的效果可以通过很简单的代码实现,这就更酷了。
    首先,需要获得读取一些图片,最好是自然的图片,带点后现代风格的那种。
     像这张,带有一种工厂颓废风格的图片,就很是适合。
     然后需要在图像中创建一个矩形。
     如果是直接创建的话,那么就应该是这样的效果:

    Rect rect( 0, 0, 200, 400);
    rectangle(src,rect,Scalar( 0, 0, 0));

          
Rect rect( 0, 0, 200, 400);
    rectangle(src,rect,Scalar( 0, 0, 0), - 1);
写出这样则是填充的效果,写出这样还是真难看
     但是写成这样,就可以得到半透明的效果。关键是融合了前景和背景的颜色。
Rect rect( 0, 0, 200, 400);
    Mat roi  = src(rect);
    roi  += CV_RGB( 90, 90, 90);
 
而闪光效果,则多用于在视频当中。当有需要强调的图片出现的时候,则将全部图片或者某一区域变成半透明或者全白,在下一帧中恢复。则达到这样的效果。
记住
roi = src(rect);
roi += cv_rgb(90,90,90);
就是半透明,非常简单。





posted on 2022-12-03 15:32  jsxyhelu  阅读(66)  评论(0编辑  收藏  举报

导航