openCV实现图像艺术化处理

一.实验目的

  1. 了解各种图像艺术化处理方法的原理。
  2. 掌握各种艺术化处理方法的实现过程。

二.实验内容和要求

编程实现三种以下艺术化处理方法,三类效果中每类至少实现一种。

三.实验主要仪器设备和材料

计算机, VS2015+openCV

四.实验原理与实验步骤

1. 艺术化效果

  1. 黑白照片制作
    我们通常说的黑白照片并不是数字图像中的二值图,而是灰度图。由彩色图像转化为灰度图像的过程叫做灰度化处理。一般情况下彩色图像每个像素用3个字节表示,每个字节对应着R、G、B分量的亮度(红、绿、蓝),转换后的灰度图像的一个像素用一个字节表示该点的灰度值,它的值在0~255之间,数值越大,该点越白,即越亮,越小则越黑。转换关系为:
    在这里插入图片描述(4-1)
    其中Gray(i,j)为转换后的灰度图像在(i,j)点处的灰度值。
    灰度图只能表现256种颜色,灰度化处理还有其他的方法,如:取3个分量的最大值、最小值、算术平均值等,目的都是使颜色的R、G、B分量值相等。
  2. 染色效果处理
    染色效果在数字图像处理中又叫伪彩色处理,即把整幅图像染成一种给定的色调。方法是指定一种渲染颜色,然后用当前像素的灰度分别乘以指定颜色的R、G、B三分量,并将结果作为当前像素的最终颜色。
    在这里插入图片描述(4-2)
  3. 怀旧效果处理
    怀旧效果一般用在一些相片处理上,使整张相片呈棕褐色,仿佛相片已保存很久,已经发黄。方法是对每个像素的RGB分量按照公式(4-2)赋值:
    在这里插入图片描述(4-3)

2. 风格化效果

  1. 马赛克处理
    马赛克效果,其原理是将图像从形式上划分为很多小块(5*5),在每块内的各个像素都取到相同的红、绿、蓝颜色值,如块内任意一像素的值。从而对某些细节进行模糊化处理,使图像具有马赛克效果。
  2. 浮雕处理
    浮雕效果针对灰度图像处理,就是只将图像的变化部分突出出来,而相同灰度部分则被淡化,使图像出现纵深感,从而达到浮雕效果。将要处理的像素取值为与处于前一个相邻像素间的差值,这样灰度平淡区因差值几乎为零则变成黑色,可以通过加上一个常量来增加一些亮度。
    在这里插入图片描述
    其中,G(i,j)为处理后图像的像素值,f(i,j)为原图像的像素值,f(i-1,j)为前一个相邻像素的值,常量通常取值为128。
  3. 霓虹处理
    霓虹效果用来描绘图像的轮廓,勾画颜色变化的边缘,产生轮廓发光的效果。先计算原图像当前像素f(i,j)的红、绿、蓝分量与其相同行f(i+1,j)及相同列f(i,j+1)相邻像素的梯度,即差的平方和的平方根,然后将梯度值作为处理后像素g(i,j)的红、绿、蓝的3个分量。
    R1=(r1-r2)2 R2=(r1-r3)2
    G1=(g1-g2)2 G2=(g1-g3)2
    B1=(b1-b2)2 B2=(b1-b3)2
    在这里插入图片描述在这里插入图片描述在这里插入图片描述(4-4)
    上式中r1,g1,b1分别为原图像像素f(i,j)的红、绿、蓝分量值,r2,g2,b2分别为原图像同行相邻像素f(i+1,j)的红、绿、蓝分量值,r3,g3,b3分别为原图像同列相邻像素f(i,j+1)的红、绿、蓝分量值,Red,Green,Blue为图像处理后的像素f(i,j)的红、绿、蓝分量值。

3. 扭曲效果处理

扭曲效果包括挤压效果、球面效果、漩涡效果、波浪效果和摩尔纹效果。

  1. 挤压效果是将图像向内挤压,产生收缩变形。挤压效果的实现可以看成是数学极坐标的一种体现,将当前像素点、图像正中心点和过中心点的水平线这三要素画出一个极坐标,然后根据用户指定的挤压度,在当前点与中心点所连的直线上映射出一个像素点,最后将这个像素点作为目标点输出。设原图像上的点坐标用(x’,y’)表示,挤压效果图上的点坐标用(x,y)表示,图像正中心点坐标为(midx,midy),ρ和θ表示点(x,y)所在极坐标系对应的极值和极角,degree为挤压度,取值为[1,32],那么挤压效果满足的关系如下式所示:
    在这里插入图片描述(4-5)
    其中,
    在这里插入图片描述
  2. 球面效果是将图像中部隆起成球形,使对象具有立体凸起效果,就像哈哈镜中的图像一样。其实现类同于挤压效果,也可以看成是极坐标的一种体现。设坐标表示和挤压效果一致,那么球面效果满足的关系如式(4-7)所示:
    在这里插入图片描述(4-6)
  3. 漩涡效果是将整幅图像由外向内进行选择扭曲,越往中心,旋转扭曲程度越强烈,从而达到一种很真实的漩涡效果。漩涡效果仍然是极坐标的一种体现,坐标表示和挤压效果一致,不同的是用swirldegree表示漩涡幅度,取值范围为[1,100],那么该效果满足的关系如式(4-8)所示:
    在这里插入图片描述 (4-7)
  4. 波浪效果是将图像中的像素产生移位,从而创建出起伏跌荡的图像效果。波浪效果的实现可以理解为某一个像素在它自身一定范围内进行有规律的振动起伏,振动幅度由用户指定,可利用三角函数实现。仍然设原图像上的点坐标用(x’,y’)表示,波浪效果图上的点坐标用(x,y)表示,degree表示振动幅度,取值范围为[1,32],那么该效果满足的关系如式(4-9)所示:
    在这里插入图片描述 (4-8)
  5. 摩尔纹是大屏幕显示器在显示大面积相同色彩的画面时出现的彩色波浪状条纹,它会影响视觉效果,其实现也可以看成是极坐标的一种体现,但是由于通常情况下得到的摩尔纹效果十分抽象,往往将处理后的图像与原图像进行Alpha混合。设坐标表示与挤压效果一致,degree表示强度,取值范围在[1,16],则摩尔纹效果满足的关系如式(4-10)所示:
    在这里插入图片描述 (4-9)

五、实验内容

  1. 给出响应函数的代码(每类滤镜效果至少实现一种)。
  2. 给出实验结果的屏幕截图(处理前后的图片、并指明是经过哪种处理)。
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值