硕士

作者: 青漾 | 来源:发表于2021-12-06 23:19 被阅读0次

    《计算机视觉导论》 Assignment-1

    朱心洲 22151326

    zhuxinzhou999@zju.edu.cn

    在本次作业中,要求使用图像为自己制作一个拼接肖像画,实现思路如下:

    • 1.通过爬取百度图片上相应素材图片,作为生成拼接肖像画的素材
    • 2.通过计算图片的 HSV 色彩空间,与生成图像的一小块进行对比,根据HSV值接近程度,确定使用合适的图片
    • 3.统一处理素材图片至统一大小,根据图片大小确认粗细细粒度
    • 4.遍历原图的每个像素点,找到与这个像素点的平均 HSV 值最接近的那张图片,并用那张图片来替换这个小块;

    一、图片素材的获取

    以[风景]、[人物]、[山]、[校园]、[森林]为标签爬取百度图片的数据,相应代码在spider.py文件里,相应图片存储在image文件夹里,共6000张照片。


    百度图片示例
    爬取图片示例

    二、计算图片的HPV值,将所有图片大小归一

     由于RGB 色彩空间不能方便的比较颜色之间的相似度,于是在处理这一类问题的时候我们更多的是使用 HSV 色彩空间。 HSV 色彩空间也是由三个分量组成的,分别是:
    
    • Hue(色调)
    • Saturation (饱和度)
    • Value (明度)
      其中,我们定义max = max(R, G, B),min=min(R,G,B)

    其中v=max

    • 在计算出v后,计算s,其中s的计算方式为


      计算s
    • 在计算s后,计算h,h的计算方式为:


      计算h

      在完成hsv值的计算后,根据切片大小,将每张图片转换成同样大小。

    三、开始生成拼图

    • 遍历我们生成的计算了hsv的文件夹,获得里面所有图片的平均 HSV 值,保存在一个 list 中;
    • 接着我们将原始图片按照像素分为一小块一小块,每一个小块会计算他的平均 HSV 值;
    • 接着我们在上面生成素材的平均 HSV 值的 list 中,找到与这个小块的平均 HSV 值最接近的那张图片,并用那张图片来替换这个小块;
    • 依次对整个图形进行这样的操作,这样就可以使用素材图像生成一个图像;

    四、结果对比

    4.1 原图展示

    选取本人某个背景图为肖像图生成素材,其中着粉色上衣的为本人


    原图

    4.2细粒度图片生成。

    在通过设置分片大小为1010,图片大小为30003000,共90000张照片组成,每张照片最多允许重复20次,所生成的图片如下图所示

    图片拼接肖像画 在经过填充原图作为背景,优化展示效果,最终结果如下图所示: 图片拼接肖像画(原图背景填充)

    4.3粗粒度图片生成。

    在通过设置分片大小为100100,图片大小为30003000,共900张照片组成,每张照片最多允许重复20次,所生成的图片如下图所示。

    粗粒度(无背景填充)

    在经过填充原图作为背景,优化展示效果,最终结果如下图所示:


    粗粒度,背景填充

    五、 优化方案&总结

    在本次作业中,通过制作个人拼接肖像画,使我更进一步在计算机中图像表示方法,图像相似度计算、搜索方案,图像中信息特征的提取并且通过自身实践完成了该项目,开启了我对计算机视觉的兴趣。
    同时,在完成实验后,对该算法进行了优化;

    • 在合成图片时,限制了每张图片的使用次数,避免了一张图片出现次数太多的情况
    • 在搜索相似图片时,使用二分查找的方法,极大提高了程序执行速度
    • 在最后合成图片时,使用原图填充背景图,提升图片可看性

    相关文章

      网友评论

          本文标题:硕士

          本文链接:https://www.haomeiwen.com/subject/snnnxrtx.html