多媒体技术作业-图片特效和median cut算法

该博客介绍了多媒体技术作业中的图片特效和Median Cut算法优化。作者使用Python3.7和cv2库实现了混合图片的圆形区域填充优化以及基于二叉递归树的LUT算法,通过计算中值来减少颜色突变,优化了7bit和8bit调色板的效果。
摘要由CSDN通过智能技术生成

github:
https://github.com/kotomineshiki/MultiMediaHomework

问题1

算法描述:

读入两张图片

混合图片=图片1

For 圆形半径 小于 对角线长度

   Foreach

像素 in 混合图片

          If 该像素在圆形区域内

混合图片圆形半径内某位置的像素=图片2该位置上的像素

   半径扩大

关闭图片窗口

辅助函数函数:输入矩阵上某个坐标,判断该坐标是否位于圆形区域内

优化1 按照以上算法,对于已经在圈内的像素点,会被重复判断是否在圆形区域内,这样会带来无用的性能消耗。
作为优化的算法,只用判断由于半径扩大所带来的“新”的圆环部分的像素点即可

程序实现:

语言及库:python3.7 cv2库

(未优化版本)

实现效果

问题2

算法描述:

这是一个LUT算法

本次作业采用二叉递归树的方法

步骤为:

  1. 按照红绿蓝的次序划分八次,得到256个块

  2. 每个块计算其中心颜色

  3. 把原颜色替换成中心颜色

  4. 得到新位码(8bit)和颜色的对应表

优化1. 如果随机取中心颜色会造成黑点,所

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值