NoobNeo
发表于 2019-8-23 22:08:00
namesd 发表于 2019-8-22 15:24
预计什么时候可以发布?拿来试试水
已经打包传度盘, 明天最后检查下, 没问题的话最快明天下午发布
NoobNeo
发表于 2019-8-24 18:59:40
本帖最后由 NoobNeo 于 2019-10-27 13:29 编辑
tesseract进阶参数:
进阶参数位于程序目录 APP/tessdata 文件夹中, 如果不了解不建议调整!
用文本编辑器打开 'config' 文件
tessedit_char_blacklisttesseract识别中被排除的字符
unrecognised_char无法识别的字符用此字符替代, 默认为无
其他参数安装tesseract后 用 "tesseract --print-parameters" 查看
0.0.1-3 - alpha 版本及以上部分已失效, 可忽略, 程序中部分按钮悬停可查看描述
=====================================================================================
软件说明
主界面部分按钮(从上至下, 从左至右):
Open 打开 COCR 文件
Video打开视频文件
Save 保存为 COCR 文件
Save As 保存为 ASS 文件
Export导出 PNG 文件
Filter滤镜, 需要打开一个视频才能进入
Del&Merge删除/合并字幕, 需要勾选 "Manager Mode"
OCR图片字幕识别
Profile偏好设置
BAT批量处理
Manager Mode 管理模式
F当前打开文件的文件名
FC视频文件的总帧数
BAT(批处理)界面部分按钮(从左至右)
Number of SIMUL tasks同时处理任务数量, 默认为1
Process(滤镜处理流程) 界面与 Param Settings 对应(从上至下, 从左至右)
其他界面比较简单, 不一一说明.
软件内各种参数说明 标题格式 [窗口] - [区域标题]
Video Filter - Region:
TL X 字幕区域左上角 X 轴坐标, 一般为 0
TL Y 字幕区域左上角 Y 轴坐标
BR X 字幕区域右下角 X 轴坐标, 一般为视频宽度
BR Y 字幕区域右下角 Y 轴坐标
Param Settings - Morphology Parameter: (形态学变化)
MedianBlur Kernel 中值滤波核尺寸, 只能是奇数, 一般设定为1或3
Fixed Min Threshold 固定二值化的阈值
Adaptive Block 自适应二值化核尺寸, 只能是奇数, 其他参数固定时, 应尽可能调大
Adaptive Constant 自适应二值化常量, 可以为负数, 其他参数固定时, 应尽可能调小
Dilate Kernel Width 背景腐蚀核尺寸 - 宽度, 尽可能调大, 不要出现大黑块, 不调整用默认值也没问题
Dilate Kernel Height 背景腐蚀核尺寸 - 高度, 同上
Close Kernel Width 闭运算核尺寸 - 宽度, 在确保文字区域没有被抹除的情况下, 尽可能调大
Close Kernel Height 闭运算核尺寸 - 高度, 同上
Param Settings - CCL Area & Pixel Count (连通区域过滤):
Max CCL Area最大连通区域 (方形), 确保文字没有被抹除的情况下, 应尽可能调小, 通常设定为 2000~4000 左右
Min CCL Area最小连通区域 (像素点), 去除形态学中无法过滤的小噪点, 不宜过大, 容易把汉字中的"丶"过滤掉
Min Pixel Count字幕图片中像素数量, 小于此数值的会被判定为无效字幕, 单独一个 "一" 字大概在500上下, 不宜过大
Param Settings - Similarity Profile (去重):
Min SSIM ThresholdSSIM算法阈值, 高于此数值判定为重复, 不建议低于默认值, 更不建议设置小于0.9的数值, 容易误判
Min Psnr ThresholdPsnr算法阈值, 高于此数值判定为重复, 不建议低于默认值, 如果误判严重, 建议调大, 或选用SSIM
SSIM OR Psnr两者都是机器视觉, 与人类视觉不同, 当我们觉得两张图一样时, 机器不一定认为一样, 通常SSIM的表现优于Psnr
Param Settings - Binarization Type: (二值化类型)
Fixed Binarization固定二值化, 颜色波动小时建议用这个, 速度快, 性能优
Adaptive Binarization自适应二值化, 颜色波动大时建议用这个, 速度慢, 效果好
Param Settings - Adaptive Method: (自适应算法)
Mean核内区域计算均值
Gaussian核内区域计算加权均值 (高斯函数)
Param Settings - Storage Policy: (去重保存策略)
Min pixel count in stack保存堆内像素总量最少的
Max pixel count in stack保存堆内像素总量最多的
Med pixel count in stack保存堆内像素总量中位数
First frame in stack保存堆内第一个 帧
Last frame in stack保存堆内最后一个帧
Profile - : (偏好设置)
Caption Default StyleDefault 字幕样式
Digital container format视频容器格式, BAT中根据这个来判定是否为有效视频; 打开视频对话框内快速筛选格式; FFmpeg 支持的容器
Editor Font Size编辑框字体大小
Frame interval提取字幕时帧间隔, 精度越高越耗时
Count Pre Page每次加载字幕图片的数量
OCR LanguageOCR 识别目标的语言, 支持混合语言
滤镜参数中建议调整顺序:
字幕区域 > 均值滤波 > 二值化类型 > 二值化类型对应参数, 其余参数基本不用动
o1234555
发表于 2019-8-24 19:49:24
大大強大的背影,只能膜拜了!!!
多謝大大寫出那麼棒的工具!!!
NoobNeo
发表于 2019-8-24 20:40:12
本帖最后由 NoobNeo 于 2019-10-27 13:15 编辑
0.0.1-3 - alpha未作测试, 测试结果可能不一致, 仅供参考
测试版本: 0.0.1-1 - alpha
测试内容: 提取时长24分钟视频的字幕所需时间
测试方法: 两个软件调整到类似的过滤结果, 连续跑3次取平均值
时间格式: 分 : 秒
COCR部分参数: 保存策略: 堆中位数; 去重算法: SSIM; 自适应二值化
因为对esrXP内部分实现方法不明, 所以COCR都选用较为严格的默认参数
下面是结果:
esrXP COCR
03:52 1 frame - 08:27
2 frame - 04:27
3 frame - 03:02
4 frame - 02:18
5 frame - 01:45
所以如果手抄字幕的视频A与打算外挂的视频B, 两者时间轴基本一致或只需要整体平移的话, 建议帧间隔选择1 或 2, 节省后期调轴的时间; 如果两者时间轴偏差大, 建议选用3 ~ 5, 节省字幕提取的时间.
目前已知问题:
1. win10系统下, 在编辑框内自带的输入法候选框无法跟随光标.
解决方法: 用第三方输入法替代
目前已考虑功能:
1. Linux 版本
2. GPU解决方案, 有望大幅增加图像处理速度和能力
hungry小浩纸
发表于 2019-8-25 00:24:25
过滤器设置那里好谜啊,试了一下没搞出满意的图片{:4_675:}
hungry小浩纸
发表于 2019-8-25 00:24:51
本帖最后由 hungry小浩纸 于 2019-8-25 00:29 编辑
另外,能输出成sub或sup么?方便用其他的ocr
NoobNeo
发表于 2019-8-25 16:11:07
本帖最后由 NoobNeo 于 2020-4-20 22:45 编辑
更新日志:(以后不在此贴更新)
https://github.com/sum1re/caption_ocr_tool/releases
历史更新记录归档: (0.0.1-1-alpha ~ 0.0.1-beta.1)
namesd
发表于 2019-8-26 04:12:29
NoobNeo 发表于 2019-8-23 22:08
已经打包传度盘, 明天最后检查下, 没问题的话最快明天下午发布
辛苦了,要是你这软件好用的话,我拖了这么久的女生万岁就终于可以开工了{:4_673:}
mocici
发表于 2019-8-27 14:01:26
本帖最后由 mocici 于 2019-8-27 14:09 编辑
同样是调整了好久,也无法得出干净程度类似esrXP的图片...
跑30分钟以上长视频似乎比esrXP流畅...
等以后改进成熟了,能增加导入sub或sup单独跑时间轴和ocr的功能就更好了...(弱...
bjjbaojj
发表于 2019-8-29 13:11:42
请问打开Caption OCR Tool.exe为何会报错呢?我的电脑已经安装了JRE了的。提示failed to find library,failed to locate JNI_createJavaVM,failed to launch JVM
页:
1
[2]
3
4
5
6
7
8
9
10
11