Releases: ZhengjcVP/MusicScoreScanHelper
Alpha v1.7
Added 2 Level Mode TwoLvFilter()
in file MusicScoreProc.py
, which can better process grayscale printings. The principles are similar to StrongEnhance()
.
Added corresponding function in the main program LoadScanPDFMain.py
.
Alpha v1.6
v1.6 alpha
Added reset_dpi.py
program, which can despeckle and reset dpi 0/1 bitmap PNG files in batch.
The following changes are made regarding LoadScanPDFMain.py
andMusicScoreProc.py
:
- Check for Temp folder and Output folder before running program, making deleting them unecessary. If files in folders don't meet requirements, exit the program with error message. The process is listed below:
- When Temp folder exists, and contians all
.jpg
files needed (actually only detecting first and last file), do not read PDF. - If either folder exists, and is empty, don't create the folder again.
- If either folder exists, but does not meet requirement above, exit with error.
- Added a operating mode in
RotateByStraightLine
function。2
is text mode, which is slower, but better for pure text.0
is the default mode in previous versions.1
is automatic, will run text mode if angle is0
after default mode. It is recommended to use2
after confirming pages with texts. It is not recommended to use1
. - Default resolution is no longer
4000x5400
, and is changed to4500x6000
. This can fit larger scores, but will leave wider margins for regular scores. Added a High Resolution preset,in which DPI and resolution are1.5
times the new default. (Therefore both can fit to the same PDF) This is better for full score, but will result in larger file size. There's no need to use such preset for regular piano score.
Alpha v1.5
The following changes are made regarding LoadScanPDFMain.py
andMusicScoreProc.py
:
- Added an input DPI function. For A4 or 8.5x11in scans that are not 600dpi, adjust this number.
- Added an alternative hough line detection for
RotateByStraightLine
. If input resolution is too low, do not scale down. Decreasestart_resolution
andminLineLength
. - Added an rotation option for odd/even page.
- Added a Pre-crop function for scanners with pre-exsisting white edge.
- Other changes that improve readability. (E.g. Merging
StrongEnhance()
intoMusicScoreProc.py
, removing some comments etc.)
The following changes are made regardingRemoveFingeringToolkit.py
: - Added a
GenerateEraseMask()
function. Currently not used in the main program. It will mark all numbers except 1, which can help erase fingering. Merging into the main program will happen in a later update.
Alpha v1.4
The following changes are made regarding RemoveFingeringMain.py
:
- Previously, thumbnail is changed and these changes are reflected to the original image. This will cause the final image to be inaccurate. Now, no direct changes are made to the thumbnail. The original image is changed, and the thumbnail is updated.
- The thumbnail will automatically fit the size of screen (Under DPI Aware in Windows)
- Refresh rate is changed for window display . Previously, the image refreshes every 10 ms. Now, the image only refreshes when a change is made.
Alpha v1.3
- Added a strong enhance feature to partially restore blurry scans.
- Added a new program
RemoveFingeringMain.py
to allow users manually remove fingering. - Also 2 abandoned files of testing new functionality. They are uploaded for backup purpose, and are not recomended to use.
v 1.2 Alpha
Significantly improve the efficiency of rotation and despeckle.
Now there's no need to worry about disabling despeckle for runtime.
Special thanks to Flrrr https://github.com/Flrrr?tab=repositories
for implementing most part of the new despeckle function.
Also imported PIL just to change final DPI to 600. This cannot be done with OpenCV