@@ -51,7 +51,9 @@ save_dir="${2:-$XDG_PICTURES_DIR/Screenshots}"
5151save_file=$( date +' %y%m%d_%Hh%Mm%Ss_screenshot.png' )
5252annotation_tool=${SCREENSHOT_ANNOTATION_TOOL}
5353annotation_args=(" -o" " ${save_dir} /${save_file} " " -f" " ${temp_screenshot} " )
54- tesseract_languages=" ${SCREENSHOT_OCR_TESSERACT_LANGUAGES:- " eng" } "
54+ tesseract_default_language=(" eng" )
55+ tesseract_languages=" ${SCREENSHOT_OCR_TESSERACT_LANGUAGES:- $tesseract_default_language } "
56+ tesseract_languages+=(" osd" )
5557
5658if [[ -z " $annotation_tool " ]]; then
5759 pkg_installed " swappy" && annotation_tool=" swappy"
@@ -98,19 +100,20 @@ ocr_screenshot() {
98100
99101 # execute grimblast with given args
100102 if " $LIB_DIR /hyde/grimblast" " ${extra_args[@]} " copysave " $mode " " $temp_screenshot " ; then
101- if pkg_installed imagemagick ; then
102- magick " ${temp_screenshot} " \
103+ if pkg_installed graphicsmagick ; then
104+ gm convert " ${temp_screenshot} " \
103105 -colorspace gray \
104- -contrast-stretch 0 \
105- -level 15%,85% \
106106 -resize 400% \
107- -sharpen 0x1 \
108- -auto-threshold triangle \
109- -morphology close diamond:1 \
110- -deskew 40% \
111- " ${temp_screenshot} "
107+ -median 2 \
108+ -sharpen 1 \
109+ -convolve " 0,0,1,0,0;0,1,1,1,0;1,1,1,1,1;0,1,1,1,0;0,0,1,0,0" \
110+ -normalize \
111+ -lat 15x15+5% \
112+ -monochrome \
113+ -despeckle \
114+ " ${temp_screenshot} "
112115 else
113- notify-send -a " HyDE Alert" " OCR: imagemagick is not installed, recognition accuracy is reduced" -e -i " dialog-warning"
116+ notify-send -a " HyDE Alert" " OCR: graphicsmagick is not installed, recognition accuracy is reduced" -e -i " dialog-warning"
114117 fi
115118 tesseract_package_prefix=" tesseract-data-"
116119 tesseract_packages=(" ${tesseract_languages[@]/#/ $tesseract_package_prefix } " )
@@ -121,12 +124,11 @@ ocr_screenshot() {
121124 return 1
122125 fi
123126 done
124- IFS=' +' tesseract_languages=${tesseract_languages[*]}
125- unset IFS
127+ tesseract_languages_prepared=$( IFS=+; echo " ${tesseract_languages[*]} " )
126128 tesseract_output=$( tesseract \
127129 --psm 6 \
128130 --oem 3 \
129- -l ${tesseract_languages } \
131+ -l ${tesseract_languages_prepared } \
130132 " ${temp_screenshot} " \
131133 stdout
132134 2> /dev/null
@@ -163,7 +165,7 @@ sc) #? Use 'tesseract' to scan image then add to clipboard
163165 ;;
164166esac
165167
166- [ -f " $temp_screenshot " ] && rm " $temp_screenshot "
168+ [ -f " ${ temp_screenshot} " ] && rm " ${ temp_screenshot} "
167169
168170if [ -f " ${save_dir} /${save_file} " ]; then
169171 notify-send -a " HyDE Alert" -i " ${save_dir} /${save_file} " " saved in ${save_dir} "
0 commit comments