玉渊谭天对电影色彩分析的“蚊香图”复现-python

news2024/11/26 11:56:24

请添加图片描述
视频教程链接:https://www.bilibili.com/video/BV1Lu4y1t7FG/

最终的实现效果如下:
在这里插入图片描述

前几天刷抖音刷到了玉渊谭天对于电影抽取画面制作“蚊香图”,相关视频片段如下。

这种制作”蚊香图“的特效当时有点触动到到我,根据色彩来分析电影,我觉得思路特别清奇,这是我在学校没有学到的,又觉得很酷,所以我决定尝试一下,能否浮现这样的效果。

可是问题是我没有专业学过这些图像操作,并且每一步,我之前都没有做过。

大致想了一下步骤,我觉得没有设计太难的领域,无非是排列一些图片,更不用说如果之前有人做过这种效果。

而且,我们现在有gpt,它精通于很多领域,实在不行我也可以去求助gpt。所以,我开始了这个过程。

在这个视频中,我会尽可能详细地描述出来我解决何以问题的过程,希望能够给大家以启示。

最开始,我是在网上搜索是否有蚊香图,我的检索关键字是:数据分析,蚊香图,对于视频进行色彩分析。

在必应搜索,google搜索蚊香图,环形排列图片等均无果之后,我又拿着效果图去问bing,结果依旧八竿子打不着,网上没有蚊香图的案例,怪不得视频作者给蚊香图加了一个双引号。

在确定网上没有现成的轮子,只能自己完成后。

我首先理清楚了思路,要解决这个问题的思路。

● https://www.douyin.com/video/7284952319710547234 保存视频
● 读取视频,输出图片集
● 剪切调整图片
○ 但图像并不是我们真正需要的,浅浅学习一下ps的使用,获得了真正图像的像素
● 设计算法圆环嵌套展示图片
● 剪辑设置蒙版做出视频效果

遇到了bug之后自然就是自己修改,比如说我在计算图片环形分布的时候,其实最开始直接问gpt一直给不出正确的答案,你想想一环套一环这个形状对于gpt来说难免有点抽象。

于是我反复观察视频中的细节,决定将问题简化为换出一个环状,仅仅是一个环状分布gpt都给出了很多bug,比如说旋转图片后,图片超出原先范围导致图片有很多黑色,或者是没有加上透明背景,或者是透明背景又覆盖了底层的图像等问题,对于我这个之前没有做过图像的人来说还是没遇到过的,都是一点一点问gpt试探出来的。

这种圆环状分布就是一环一环套出来的,我在解决了上述bug后,有思考如何一环套一环,如何让这些方形的图片恰好放入圆环中,在这里我用假设法验证了一下,假设圆环半径特别大,这个时候就可以将圆环近似看为长方形,所以我将内外半径差定位图片的高。

我们来看下代码:见视频。

经过我的不懈努力终于滑出了这样的图形。

在必应谷歌检索后我发现没有叫蚊香图的案例,所以我决定自己实现一个这样的效果。
在这里插入图片描述

通过ps确定图片坐标信息:
在这里插入图片描述

在尝试google,问gpt,问bing后我发现我可能并不能清楚的描述清楚我的需求,也有很大的概率网上根本没有这样的教程,所以我决定观察,第一圈4个,然后七个,10个,等差数列,相当于把问题简化为,如何使用python将n张图片排列在内半径为多少,外半径为多少的圆环上?
然后我这样问

在这里插入图片描述

不是透明色问题,透明色覆盖问题,通过与gpt的对话都被一一解决,接下来就是确定如何让这些图片不重合

半径太大有间隙,半径太小有重合
在这里插入图片描述

在这里插入图片描述

观察后发现他的也是有重合的,所以就不再细究
在这里插入图片描述

可能还有一定的旋转角度,我们这里也不细究,

我觉得可能就是行列排列更好点,但是这种蚊香图的环形排布更加直观,更具视觉冲击力,如果大家直到深层次原因的话可以赐教一下我。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1255121.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

jmeter测试dubbo接口

本文讲解jmeter测试dubbo接口的实现方式,文章以一个dubbo的接口为例子进行讲解,该dubbo接口实现的功能为: 一:首先我们看服务端代码 代码架构为: 1:新建一个maven工程,pom文件为: 1…

PyQt6 QLabel标签控件

​锋哥原创的PyQt6视频教程: 2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~共计21条视频,包括:2024版 PyQt6 Python桌面开发 视频教程(无废话…

性能测试必学教程之Jmeter:nmon性能系统监控工具

一、Nmon介绍 Nmon得名于 Nigel 的监控器,是IBM的员工 Nigel Griffiths 为 AIX 和 Linux 系统开发的,使用 Nmon 可以很轻松的监控系统的CPU、内存、网络、硬盘、文件系统、NFS、高耗进程、资源和 IBM Power 系统的微分区的信息 Nmon是一款计算机性能系…

Git远程仓库常用开发命令和理解

远程仓库 创建与合并分支 每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。 HEAD严格来说不是指向提交,而…

Python教程:DataFrame列数据类型的转换

Pandas提供了多种数据类型转换方法。可以使用astype()函数来转换数据类型。例如,可以将字符串类型的列转换为整数类型的列: # Author : 小红牛 # 微信公众号:wdPython import pandas as pd# 创建包含字符串类型列的DataFrame df pd.DataFra…

Postman如何使用(三):使用数据文件

数据文件是非常强大的方式使用不同的测试数据来测试我们的API,以检查它们是否在各种情况下都能正常运行。我们可以认为数据文件是“Collection Runner”中每个请求的参数。下面,我们通过一个例子来说明如何使用数据文件。 这篇文章需要结合下面两个文件进…

第二十二章 解读pycocotools的API,目标检测mAP的计算COCO的评价指标(工具)

Pycocotools介绍 为使用户更好地使用 COCO数据集, COCO 提供了各种 API。COCO是一个大型的图像数据集,用于目标检测、分割、人的关键点检测、素材分割和标题生成。这个包提供了Matlab、Python和luaapi,这些api有助于在COCO中加载、解析和可视化注释。 …

Linux环境下自动化创建大量的账号

参考《鸟哥的Linux私房菜基础篇第四版》13.7.2节微调而成: 下面脚本的目的是为服务器的管理员自动化创建大量的账号,节省生命。 #!/bin/bash # This shell script will create amount of Linux login accounts for you. # 1. check the "accounta…

ubuntu20.04打不开github网址的有效解决方案

问题描述:重装的ubuntu系统,chrome浏览器刚开始还能打开github网址,然后突然就打不开了,换网络也不行。 解决方案步骤 1,查询你的电脑IP对应的github网址信息 2,修改host文件,添加第1步查询到…

线程的认识,本质,和进程的区别,哪些结构是共享/独立的,切换成本,不同os下的线程

目录 再次认识进程 用户视角 内核视角 引入线程 概念 调度的基本单位 模拟出图像 思考 线程的本质 线程和进程的区别 线程哪些结构是共享的 引入 地址空间 系统资源 ​编辑 线程哪些结构是单独拥有 引入 地址空间 系统资源 线程间切换的成本更低 linu…

【强化学习】动态规划算法实践

文章目录 【强化学习】动态规划算法实践一. 实验过程1.1 Environment1.2 Policy Iteration1.3 Policy Evaluation1.4 Policy Improvement1.5 Value Iteration 二. 实验结果与分析2.1 分析Policy Iteration和Value Iteration收敛误差随着迭代次数的分布曲线 【强化学习】动态规划…

性能测试必会技能之Jmeter:利用jmeter插件收集性能测试结果汇总报告和聚合报告

利用jmeter插件收集性能测试结果 汇总报告(Summary Report ) 用来收集性能测试过程中的请求以及事务各项指标。通过监听器--汇总报告 可以添加该元件。界面如下图所示 汇总报告界面介绍: 所有数据写入一个文件:保存测试结果到本地…

【c++模版】

在计算机科学的世界里,模板是一种非常强大的工具,它允许我们编写通用的代码,这些代码可以处理多种数据类型。在C中,模板是实现泛型编程的主要方式之一。本文将详细介绍C模板的基本概念,并通过一些有趣的例子和现实生活…

Unity 关于Input类的使用

Input类在我们游戏开发中需要获取外设设备(比如键盘、鼠标、游戏手柄等)进行交互时,基本都会用到。 它主要有以下一些常用的方法。 1、GetKey(KeyCode key),检测按键是否被按下; 2、GetKeyDown(KeyCode key)&#x…

什么是CAS/CAS的应用/CAS的ABA问题

文章目录 CAS1. 什么是CAS2. CAS的应用2.1 实现原子类2.2 实现自旋锁 3. CAS的ABA问题3.1 什么是ABA问题3.2 ABA问题引来的BUG3.3 解决方案 CAS 1. 什么是CAS CAS: 全称Compare and swap, 字面意思:”比较并交换“. 操作: 设V为内存中的值, A为寄存器中的值(旧的预期值), B也…

无人零售已成为新兴趋势

无人零售已成为新兴趋势 在新零售浪潮中,必然会涌现新的商业形态,而无人零售则是其中典型代表之一。传统零售受制于人力和场地等限制,消费者体验较差,如长时间排队、缓慢结账、距离过远等问题。而无人零售解决方案,包括…

面试官:java如何实现线程间通信?

程序员的公众号:源1024,获取更多资料,无加密无套路! 最近整理了一份大厂面试资料《史上最全大厂面试题》,Springboot、微服务、算法、数据结构、Zookeeper、Mybatis、Dubbo、linux、Kafka、Elasticsearch、数据库等等 …

PyQt6 QLineEdit单行文本框控件

​锋哥原创的PyQt6视频教程: 2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~共计21条视频,包括:2024版 PyQt6 Python桌面开发 视频教程(无废话…

一起学docker系列之十docker安装tomcat实践

目录 前言1 安装tomcat的步骤步骤 1: 查找并拉取 Tomcat 镜像步骤 2: 运行 Tomcat 容器步骤 3: 管理 Tomcat 容器步骤 4: 访问 Tomcat 首页 2 解决访问首页的404访问不到的问题2.1 Tomcat 10 的默认设置问题2.2 端口映射或防火墙问题 3 推荐使用 Tomcat 8.5 版本总结 前言 当安…

2.前端--HTML标签基本概念【2023.11.25】

1.基本语法规范 HTML 标签是由尖括号包围的关键词&#xff0c;例如 <html>。HTML 标签通常是成对出现的&#xff0c;例如 和 &#xff0c;我们称为双标签。有些特殊的标签必须是单个标签&#xff08;极少情况&#xff09;&#xff0c;例如 <br />我们称为单标签。 …