项目
这里放了一些我手头的项目,当然,也会包含一些已经停止运行的。
Windows for Minecraft Server System - WMS - 永久休眠
于5/1/2020开始,期间事故不断。
WMS是一个为Minecraft服务器定制的一款由Windows Server 2019魔改的一个Windows Server版本
本来是为了给Minecraft-JE-Server-Setup-Guide 我的世界Java版服务器配置指南准备的
但是项目进度过于缓慢,以及几乎没有什么需求则放弃了。
8bits Style - 运行中
用于将视频变为8bit风格。
是一款小型程式,是给Chen用的。本来打算使用GoLang或C语言开发,不过由于矩阵是在过于困难,遂使用Python的CV库进行操作
程序主要有三个步骤
- 像素化(
pixelate
):- 首先将帧缩小到一个较小的尺寸,然后再放大回原来的尺寸,从而产生像素化的效果。
- 使用 插值算法 来进行图像缩放:
- 最近邻插值 (Nearest-neighbor interpolation):在
pixelate
函数中用于缩小和放大图像。这种方法选择距离目标像素最近的原始像素值,计算开销低,但会产生明显的像素化效果。 - 线性插值 (Linear interpolation):在
quantize_colors
中用于缩放图像,计算每个新像素的值时考虑了周围像素的权重,这种插值方法较平滑。
- 最近邻插值 (Nearest-neighbor interpolation):在
- 颜色量化(
quantize_colors
):- 使用
cv2.pyrMeanShiftFiltering
减少帧中的颜色数量。为了加快处理速度,先将帧缩小,处理后再放大回原始尺寸。 - 在
quantize_colors
函数中使用了 pyrMeanShiftFiltering,这是基于均值迁移的颜色空间滤波方法。均值迁移是一种迭代的非参数化聚类算法,用来平滑图像中的颜色区域。- 颜色量化的目的是减少图像中的颜色数量,同时尽量保持视觉效果。这实际上涉及聚类算法,将颜色聚集成更少的代表性颜色。
- 在程序中没有使用传统的K-Means聚类算法,而是使用了均值迁移方法来实现颜色量化。通过聚类不同颜色,使它们收敛到较折叠内容少的颜色中心点上。
- 颜色量化的目的是减少图像中的颜色数量,同时尽量保持视觉效果。这实际上涉及聚类算法,将颜色聚集成更少的代表性颜色。
- 使用
- 视频读取和写入:
- 代码逐帧读取视频文件 (
input.mp4
),对每一帧进行处理,然后将处理后的帧写入新的视频文件 (output_video_8bit.mp4
)。 - 代码还计算剩余处理时间,每处理100帧打印一次进度信息
- 代码逐帧读取视频文件 (
ip-gadget - 运行中
adoos - 运行中
一个用于将MP3文件转换为波形视频的程序