图片处理之图片融合及GIF图片生成

简介: 笔记

今天在这里分享一下图片融合的相关内容。图片融合是个很有趣的事情,比如说,换脸操作,一副图片慢慢变成另一幅图片,自己弄一个GIF图片出来,在这里都会简单地介绍到。


1.首先先来说一下图片融合,简单来说就是两幅图片相应位置的像素的加法操作。

这里介绍一下opencv里面的两个函数

① cv2.add(img1,img2) img1与img2进行加法操作,对超过255的值取255.

②cv2.addWeighted(img1,w1,img2,w2,gamma)

result = img1 * w1 + img2 *w2 + gamma。

w1对应img1的权重,w2对应img2的权重,

gamma为img1与img2求和后增加的数值,

从公式中可以看出来,一般都设置为0,处理后的图片存在透明度。


下面利用代码来设置一张图片慢慢变成另外一张图片

import cv2
img1 = cv2.imread('1.jpg')
img2 = cv2.imread('2.jpg')
h,w = img1.shape[:2]
img2 = cv2.resize(img2,(w,h))
t = 0
while(1):
  img = cv2.addWeighted(img1,t,img2,1-t,0)
  t = t + 0.01
  if (t == 1):
    t=0
  if cv2.waitKey(1) == ord('q'):
    break

代码的实现很简单,下面来说一下如何生成GIF图片,来将两种图片生成一张有趣的GIF图片。

先将上面代码生成的每一张图片保存下来。

其次是你要安装imageio包,用于生成GIF图片。

原理很简单,就是在很短的时间内切换图片,已达到动态的效果。

先上代码吧。

import imageio
def main():
  image_list = []    #刚刚保存图片的文件路径 ,注意图片路径的顺序
  frame = []
  for path in image_list:
    frame.append(imageio.imread(path))   #按顺序读取每一张图片并添加到列表中
  imageio.mimsave('my_first',frame,'GIF',duration = 0.00002)
  #生成gif图片 ,第一个参数是生成图片的名称,第二个参数是图片列表,第四个参数是切换图片的间隔时间,越短,图片变换就越连贯。

是不是很简单?那就赶快去动手实现一下吧,通过这些简单的操作,还可以完成其他很多有趣的事情呢!!!

Thank for your reading !!!

公众号:FPGA之旅

目录
相关文章
|
2月前
|
人工智能
图片生成很好用
图片展示了一张图表,图中通过不同的颜色和数据点展示了某项技术或产品在不同维度上的表现情况。标题“AI也很好用”表明该图表可能是在说明人工智能技术的实用性和效果。不过,由于缺少具体的数据和背景信息,无法提供更详细的解读。
图片生成很好用
|
2月前
图片的大小
【10月更文挑战第7天】
54 1
|
6月前
|
区块链
webp2jpg网页在线图片格式转换源码
webp2jpg-免费在线图片格式转化器, 可将jpeg、jpg、png、gif、 webp、svg、ico、bmp文件转化为jpeg、png、webp、webp动画、gif文件。 无需上传文件,本地即可完成转换!
70 0
|
7月前
|
存储 算法 C#
C# 生成指定图片的缩略图
C# 生成指定图片的缩略图
|
编解码 开发工具 Android开发
.9图片的那点事儿
.9图片的那点事儿
192 0
|
异构计算 Python
【图片操作】给图片添加滤镜
现在我们都喜欢给图片添加滤镜,现在很多相机也自带了许多滤镜。我们可以在拍照的时候选择需要的滤镜。但是有时候我们需要给大量图片添加同样的滤镜,这个时候手动添加就非常麻烦了。为了方便,我们可以使用程序来帮我们完成添加滤镜的操作。
274 0
|
存储 C#
[开源]基于WPF实现的Gif图片分割器,提取GIf图片中的每一帧
原文:[开源]基于WPF实现的Gif图片分割器,提取GIf图片中的每一帧   不知不觉又半个月没有更新博客了,今天终于抽出点时间,来分享一下前段时间的成果。   在网上,我们经常看到各种各样的图片,尤其是GIF图片的动态效果,让整个网站更加富有表现力!有时候,我们看到一些比较好看的GIF图片或者一些奇特的Gif图片,我们想要停留在某一帧看的清楚一点或者了解这个Gif动画到底是怎么实现的,怀着这种好奇的心理,我们来看一下,今天的开源项目,用WPF来实现GIF图片的预览和分离和保存。
1200 0
|
缓存 Android开发
图片
●图片加载,缓存,处理 Picasso (一个强大的图片下载与缓存的库) Fresco (一个用于管理图像和他们使用的内存的库) Glide (一个图片加载和缓存的库,使用的App有:网易新闻) Picasso-transformations (...
1412 0