Collections-OCR/README.md

71 lines
3.1 KiB
Markdown
Raw Permalink Normal View History

2019-10-31 18:04:26 +00:00
# Collections-OCR
2019-11-29 23:10:51 +00:00
A few scripts that batches of collections label-images through OCR
2019-10-31 18:23:20 +00:00
2019-11-29 23:10:51 +00:00
## Google Cloud Vision API & `ocrCloudVision.R`
### Dependencies
Make sure to install these libraries first:
- `googleCloudVisionR` - to do OCR magic
- Other dependencies include `readr`, `tidyr`, `stringr` for data handling
### How to run `ocrCloudVision.R`:
Notes:
- This currently uses Google's Cloud Vision API, which requires:
- Being aware of [pricing & quotas for the Google Vision API](https://cloud.google.com/vision/pricing)
- Setting up a project on Google Cloud Platform
- Authenticating your magine by setting up a Service account & key
- Get help from the [cloudyr repo for `googleCloudVisionR`](https://cloudyr.github.io/googleCloudVisionR/)
- This can takes over 30 seconds per label-image.
- Be mindful how many images you add to your "images" directory.
- Be mindful of your internet connection speed
- Keep image sizes under 20MB
(Overall, smaller image files transfer and process more quickly)
- Output likely needs some [or many] follow-up/clean-up steps.
- Batch similar images together to streamline follow-up steps.
To run the script:
1. Add a folder named "images" to this script's directory
2. Add the images (JPG & JPEG) you'd like to OCR to that directory
3. Run the script (`Rscript ocrCloudVision.R`)
### Output from `ocrCloudVision.R`:
A CSV named "ocrText-[Date-time].csv", containing these columns:
- **"image"** = filename for each JPG and JPEG
- **"imagesize"** = filesize for each image (in MB)
- **"ocr_start"** = start-date and time when an image was submitted to the Google Vision API
- **"ocr_duration"** = duration (in seconds) of the OCR process
- **"line_count"** = number of lines in each OCR transcription
- **"Line1" - "Line[N]"** = text for each line in the OCR transcription of an image.
- the number of **"Line"** columns will match the maximum number of lines as needed.
## Tesseract & `ocrMangle.R`
### Dependencies
2019-10-31 18:40:28 +00:00
Make sure to install these libraries first:
2019-10-31 18:23:20 +00:00
- `magick` - to read in image files
- `tesseract` - to do OCR magic
- `stringr` - to split the OCR'ed lines to columns
2019-11-29 23:10:51 +00:00
### How to run `ocrMangle.R`:
2019-10-31 18:23:20 +00:00
Notes:
2019-10-31 18:45:43 +00:00
- This can takes over 10 seconds per label-image.
2019-10-31 18:40:28 +00:00
- Be mindful how many images you add to your "images" directory.
- This currently uses Tesseract's English ("eng"), German ("deu"), and Latin ("lat") libraries.
2019-10-31 18:45:43 +00:00
- Output likely needs some [or many] follow-up/clean-up steps.
- Batch similar images together to streamline follow-up steps.
2019-10-31 18:23:20 +00:00
To run the script:
1. Add a folder named "images" to this script's directory
2. Add the images (JPG & JPEG) you'd like to OCR to that directory
3. Run the script (`Rscript ocrMangle.R`)
2019-11-29 23:10:51 +00:00
### Output from `ocrMangle.R`:
2019-10-31 18:40:28 +00:00
A CSV named "ocrText-[Date-time].csv", containing these columns:
- **"image"** = filename for each JPG and JPEG
- **"line_count"** = number of lines in each OCR transcription
2019-11-29 23:10:51 +00:00
- **"Line1" - "Line[N]"** = text for each line in the OCR transcription.
2019-10-31 18:40:28 +00:00
- the number of **"Line"** columns will match the maximum number of lines as needed.
2019-10-31 18:23:20 +00:00
2019-11-29 23:10:51 +00:00
## Google Drive API & `ocrGoogleDrive.R`
### This is drafty; might work for small batches, but needs work.