Forwarded from dnaugsuz
https://www.bilibili.com/video/av40029529
有点类似这种(不过不是…… 我之前看到那个质量很高,是中文字符组成而且不同时间有不同的字符组成)
貌似是 C# .NET 做的,据说绘制速度比较慢,彩色中文字符画。 可是 B 站搜不到 2019 年以前的结果了 而且只能搜到标题……
https://www.jijidown.com/video/av9725649
发现哔叽好像可以搜到很早以前的视频
有点类似这种(不过不是…… 我之前看到那个质量很高,是中文字符组成而且不同时间有不同的字符组成)
貌似是 C# .NET 做的,据说绘制速度比较慢,彩色中文字符画。 可是 B 站搜不到 2019 年以前的结果了 而且只能搜到标题……
https://www.jijidown.com/video/av9725649
发现哔叽好像可以搜到很早以前的视频
Bilibili
如果ilem的歌《鸽子》用 Python PIL 做字符画PV_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili
本家 ilem《鸽子》 av39330059看到有几个UP主也做了Python PV(av39502477 av39546673 av39504056),但都是简单地打印歌词,所以我想换一种方式,用Python的PIL库做字符画拼出歌词。思路:1. 用 PIL 将文字转换成图片2. 用 PIL 将第1步生成的图片转换成字符画
Forwarded from dnaugsuz
草,原来绘制和矩阵处理天生不兼容 #CV #Python #visualize
反正我是熟悉 n m y x i j 那一套
可以把 for (i=0; i<n; i++) 套到 绘制程序里
我们只需要往 i, n 扩展一个 j, m 就可以处理项目和 y, x 不匹配的情况
然后矩阵处理又是另一种情况,没有 w,h 什么的
反正我是熟悉 n m y x i j 那一套
可以把 for (i=0; i<n; i++) 套到 绘制程序里
我们只需要往 i, n 扩展一个 j, m 就可以处理项目和 y, x 不匹配的情况
然后矩阵处理又是另一种情况,没有 w,h 什么的
Forwarded from dnaugsuz
https://github.com/sibojia/cv-uni-text
https://github.com/jrosebr1/imutils #Python #CV
噢,原来 PIL 已经可以被 CV 完全替代了啊 🤔
以前看 PIL 有的 filter 工具、kernel 之类和 convolution 都是 numpy 弄的,现在加上 cv 和 matplotlib 好像的确没必要用 PIL 了
PIL 的颜色模式也很头疼…… RGB, ARGB 也就算了,还有 I, L 这种奇奇怪怪的模式…… 色彩通道也叫 bands 而不是 channels
https://github.com/jrosebr1/imutils #Python #CV
噢,原来 PIL 已经可以被 CV 完全替代了啊 🤔
以前看 PIL 有的 filter 工具、kernel 之类和 convolution 都是 numpy 弄的,现在加上 cv 和 matplotlib 好像的确没必要用 PIL 了
PIL 的颜色模式也很头疼…… RGB, ARGB 也就算了,还有 I, L 这种奇奇怪怪的模式…… 色彩通道也叫 bands 而不是 channels
GitHub
sibojia/cv-uni-text
A c++ library of drawing unicode text with user-defined font based on OpenCV 2. - sibojia/cv-uni-text
./vcat_subtitle_imgs.py a.png frames/subtitle_*.png
再处理的时候,就可以利用许多成熟的工具,比如 GIMP 什么的进行后期处理再 OCR
a.png << ['frames/subtitle_0.png', 'frames/subtitle_4.png', 'frames/subtitle_5.png', 'frames/subtitle_8.png', 'frames/subtitle_10.png']..['frames/subtitle_299.png', 'frames/subtitle_300.png', 'frames/subtitle_301.png', 'frames/subtitle_302.png', 'frames/subtitle_303.png'] (298)结合这项特性,可以处理一些不打算提取时轴的硬骨头
再处理的时候,就可以利用许多成熟的工具,比如 GIMP 什么的进行后期处理再 OCR
a.png
3.7 MB
像这样,其实也可以直接在 OCR 的时候…不,是在拼接的时候直接存个 filename map 直接允许批量处理了再裁回来,再允许直接在这些帧文件上运行 OCR…… 还算简单,毕竟
ocrWithLocalMaxima 这个子程序被抽象为了一个方法,只需要弄一个把帧文件映射回 Frame 对象的程序即可 😂
duangsuse::Echo
a.png
已经支持
做法很简单,削掉 peak estimation (postprocessDifferences 和 findPeaks 都赋一个没 self 的 lambda)
然后拿 image inputs 映射到
然后创建 reducer (
--only-images 做法很简单,削掉 peak estimation (postprocessDifferences 和 findPeaks 都赋一个没 self 的 lambda)
然后拿 image inputs 映射到
Frame(no, img, 0) 然后创建 reducer (
ExtractSubtitle.DefaultOcrFold) 、 ocrWithLocalMaxima(frames, reducer) 、 reducer.finishAll() 完事Forwarded from Aelita Lyoko
视频图像是差分压缩差分渲染的,然而可能弹幕的渲染被放在图像变化区域渲染之前了,就导致变化区域的图像盖住了弹幕