Optical Recognition for burnt-in timecode in video
npm install timecodejsTime code detection on a video frame. Detects 'xx:xx:xx:xx' and 'xx:xx:xx;xx' formats.
Runs in a web browser without backend.
npm install timecodejs
get ocr model dir "newocr.tf/"
``html
`Build timecodeocr.js Plugin
`
Clone the repo
git clone https://github.com/videogorillas/timecodejs.git
cd timecodejs/install node_modules/
make installwebpack src/*.js
make packInstall dev http server
pip install rangehttpserverMount test data if needed
ln -s /GTS_Proxy_Source_examples/norm/ ./videos/norm Start dev http server
python -m RangeHTTPServerOpen test HTML in your browser
open http://localhost:8000/test/test_bundle.html
`Train OCR model
`
cd trainModel/virtualenv -p python3.6 venv/
./venv/bin/activate
pip3 install -r ./requierments.txt
pip3
Prepare backgound images
find ~/train/coco/train2017/ -type f > ./bcgs.txt
Train char OCR
CUDA_VISIBLE_DEVICES=0 python newocr.pyConvert model to TF javascript
tensorflowjs_converter --input_format keras ./checkpoints/newocr2.hdf5 ../newocr.tf/``- Go to HAAR training home
cd ./haar/
- Create positive samples list
unzip cuts.zip
find cuts/ -type f > positives.txt
- Create negative samples list
mkdir negs/
ln -s /mnt/coco/train2017/ ./negs/train2017
find negs/ -type f > negs/negatives.txt
- Create opencv VEC file from positives and negs
./create_samples.sh > haar.log 2>&1
python ./mergevec.py -v ./samples_v6/cuts/ -o samples_v6.vec
- Train cascade
mkdir cascade_v6/
./train_cascade.sh
- Validate cascade
python check_cascade.py ./cascade_v6/cascade.xml