mirror of
https://github.com/SubtitleEdit/subtitleedit.git
synced 2024-11-22 19:22:53 +01:00
Minor settings fixes for OCR
This commit is contained in:
parent
1f33164728
commit
764bda26a1
@ -1394,6 +1394,7 @@ $HorzAlign = Center
|
|||||||
public double ItalicFactor { get; set; }
|
public double ItalicFactor { get; set; }
|
||||||
|
|
||||||
public bool LineOcrDraw { get; set; }
|
public bool LineOcrDraw { get; set; }
|
||||||
|
public int LineOcrMinHeightSplit { get; set; }
|
||||||
public bool LineOcrAdvancedItalic { get; set; }
|
public bool LineOcrAdvancedItalic { get; set; }
|
||||||
public string LineOcrLastLanguages { get; set; }
|
public string LineOcrLastLanguages { get; set; }
|
||||||
public string LineOcrLastSpellCheck { get; set; }
|
public string LineOcrLastSpellCheck { get; set; }
|
||||||
@ -5267,6 +5268,12 @@ $HorzAlign = Center
|
|||||||
settings.VobSubOcr.LineOcrDraw = Convert.ToBoolean(subNode.InnerText);
|
settings.VobSubOcr.LineOcrDraw = Convert.ToBoolean(subNode.InnerText);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
subNode = node.SelectSingleNode("LineOcrMinHeightSplit");
|
||||||
|
if (subNode != null)
|
||||||
|
{
|
||||||
|
settings.VobSubOcr.LineOcrMinHeightSplit = Convert.ToInt32(subNode.InnerText);
|
||||||
|
}
|
||||||
|
|
||||||
subNode = node.SelectSingleNode("LineOcrAdvancedItalic");
|
subNode = node.SelectSingleNode("LineOcrAdvancedItalic");
|
||||||
if (subNode != null)
|
if (subNode != null)
|
||||||
{
|
{
|
||||||
@ -7519,6 +7526,7 @@ $HorzAlign = Center
|
|||||||
textWriter.WriteElementString("AutoBreakSubtitleIfMoreThanTwoLines", settings.VobSubOcr.AutoBreakSubtitleIfMoreThanTwoLines.ToString(CultureInfo.InvariantCulture));
|
textWriter.WriteElementString("AutoBreakSubtitleIfMoreThanTwoLines", settings.VobSubOcr.AutoBreakSubtitleIfMoreThanTwoLines.ToString(CultureInfo.InvariantCulture));
|
||||||
textWriter.WriteElementString("ItalicFactor", settings.VobSubOcr.ItalicFactor.ToString(CultureInfo.InvariantCulture));
|
textWriter.WriteElementString("ItalicFactor", settings.VobSubOcr.ItalicFactor.ToString(CultureInfo.InvariantCulture));
|
||||||
textWriter.WriteElementString("LineOcrDraw", settings.VobSubOcr.LineOcrDraw.ToString(CultureInfo.InvariantCulture));
|
textWriter.WriteElementString("LineOcrDraw", settings.VobSubOcr.LineOcrDraw.ToString(CultureInfo.InvariantCulture));
|
||||||
|
textWriter.WriteElementString("LineOcrMinHeightSplit", settings.VobSubOcr.LineOcrMinHeightSplit.ToString(CultureInfo.InvariantCulture));
|
||||||
textWriter.WriteElementString("LineOcrAdvancedItalic", settings.VobSubOcr.LineOcrAdvancedItalic.ToString(CultureInfo.InvariantCulture));
|
textWriter.WriteElementString("LineOcrAdvancedItalic", settings.VobSubOcr.LineOcrAdvancedItalic.ToString(CultureInfo.InvariantCulture));
|
||||||
textWriter.WriteElementString("LineOcrLastLanguages", settings.VobSubOcr.LineOcrLastLanguages);
|
textWriter.WriteElementString("LineOcrLastLanguages", settings.VobSubOcr.LineOcrLastLanguages);
|
||||||
textWriter.WriteElementString("LineOcrLastSpellCheck", settings.VobSubOcr.LineOcrLastSpellCheck);
|
textWriter.WriteElementString("LineOcrLastSpellCheck", settings.VobSubOcr.LineOcrLastSpellCheck);
|
||||||
|
25
src/Forms/Ocr/VobSubOcr.Designer.cs
generated
25
src/Forms/Ocr/VobSubOcr.Designer.cs
generated
@ -61,7 +61,7 @@ namespace Nikse.SubtitleEdit.Forms.Ocr
|
|||||||
this.label2 = new System.Windows.Forms.Label();
|
this.label2 = new System.Windows.Forms.Label();
|
||||||
this.comboBoxNOcrLanguage = new System.Windows.Forms.ComboBox();
|
this.comboBoxNOcrLanguage = new System.Windows.Forms.ComboBox();
|
||||||
this.checkBoxNOcrItalic = new System.Windows.Forms.CheckBox();
|
this.checkBoxNOcrItalic = new System.Windows.Forms.CheckBox();
|
||||||
this.checkBoxNOcrCorrect = new System.Windows.Forms.CheckBox();
|
this.checkBoxNOcrDrawUnknownLetters = new System.Windows.Forms.CheckBox();
|
||||||
this.checkBoxRightToLeftNOCR = new System.Windows.Forms.CheckBox();
|
this.checkBoxRightToLeftNOCR = new System.Windows.Forms.CheckBox();
|
||||||
this.numericUpDownNumberOfPixelsIsSpaceNOCR = new System.Windows.Forms.NumericUpDown();
|
this.numericUpDownNumberOfPixelsIsSpaceNOCR = new System.Windows.Forms.NumericUpDown();
|
||||||
this.labelNumberOfPixelsIsSpaceNOCR = new System.Windows.Forms.Label();
|
this.labelNumberOfPixelsIsSpaceNOCR = new System.Windows.Forms.Label();
|
||||||
@ -443,10 +443,10 @@ namespace Nikse.SubtitleEdit.Forms.Ocr
|
|||||||
// groupBoxOcrMethod
|
// groupBoxOcrMethod
|
||||||
//
|
//
|
||||||
this.groupBoxOcrMethod.Controls.Add(this.comboBoxOcrMethod);
|
this.groupBoxOcrMethod.Controls.Add(this.comboBoxOcrMethod);
|
||||||
this.groupBoxOcrMethod.Controls.Add(this.groupBoxNOCR);
|
|
||||||
this.groupBoxOcrMethod.Controls.Add(this.groupBoxImageCompareMethod);
|
this.groupBoxOcrMethod.Controls.Add(this.groupBoxImageCompareMethod);
|
||||||
this.groupBoxOcrMethod.Controls.Add(this.GroupBoxTesseractMethod);
|
this.groupBoxOcrMethod.Controls.Add(this.GroupBoxTesseractMethod);
|
||||||
this.groupBoxOcrMethod.Controls.Add(this.groupBoxModiMethod);
|
this.groupBoxOcrMethod.Controls.Add(this.groupBoxModiMethod);
|
||||||
|
this.groupBoxOcrMethod.Controls.Add(this.groupBoxNOCR);
|
||||||
this.groupBoxOcrMethod.Location = new System.Drawing.Point(13, 5);
|
this.groupBoxOcrMethod.Location = new System.Drawing.Point(13, 5);
|
||||||
this.groupBoxOcrMethod.Name = "groupBoxOcrMethod";
|
this.groupBoxOcrMethod.Name = "groupBoxOcrMethod";
|
||||||
this.groupBoxOcrMethod.Size = new System.Drawing.Size(392, 192);
|
this.groupBoxOcrMethod.Size = new System.Drawing.Size(392, 192);
|
||||||
@ -481,7 +481,7 @@ namespace Nikse.SubtitleEdit.Forms.Ocr
|
|||||||
this.groupBoxNOCR.Controls.Add(this.label2);
|
this.groupBoxNOCR.Controls.Add(this.label2);
|
||||||
this.groupBoxNOCR.Controls.Add(this.comboBoxNOcrLanguage);
|
this.groupBoxNOCR.Controls.Add(this.comboBoxNOcrLanguage);
|
||||||
this.groupBoxNOCR.Controls.Add(this.checkBoxNOcrItalic);
|
this.groupBoxNOCR.Controls.Add(this.checkBoxNOcrItalic);
|
||||||
this.groupBoxNOCR.Controls.Add(this.checkBoxNOcrCorrect);
|
this.groupBoxNOCR.Controls.Add(this.checkBoxNOcrDrawUnknownLetters);
|
||||||
this.groupBoxNOCR.Controls.Add(this.checkBoxRightToLeftNOCR);
|
this.groupBoxNOCR.Controls.Add(this.checkBoxRightToLeftNOCR);
|
||||||
this.groupBoxNOCR.Controls.Add(this.numericUpDownNumberOfPixelsIsSpaceNOCR);
|
this.groupBoxNOCR.Controls.Add(this.numericUpDownNumberOfPixelsIsSpaceNOCR);
|
||||||
this.groupBoxNOCR.Controls.Add(this.labelNumberOfPixelsIsSpaceNOCR);
|
this.groupBoxNOCR.Controls.Add(this.labelNumberOfPixelsIsSpaceNOCR);
|
||||||
@ -656,15 +656,15 @@ namespace Nikse.SubtitleEdit.Forms.Ocr
|
|||||||
this.checkBoxNOcrItalic.Text = "Contains italic";
|
this.checkBoxNOcrItalic.Text = "Contains italic";
|
||||||
this.checkBoxNOcrItalic.UseVisualStyleBackColor = true;
|
this.checkBoxNOcrItalic.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
// checkBoxNOcrCorrect
|
// checkBoxNOcrDrawUnknownLetters
|
||||||
//
|
//
|
||||||
this.checkBoxNOcrCorrect.AutoSize = true;
|
this.checkBoxNOcrDrawUnknownLetters.AutoSize = true;
|
||||||
this.checkBoxNOcrCorrect.Location = new System.Drawing.Point(235, 17);
|
this.checkBoxNOcrDrawUnknownLetters.Location = new System.Drawing.Point(235, 17);
|
||||||
this.checkBoxNOcrCorrect.Name = "checkBoxNOcrCorrect";
|
this.checkBoxNOcrDrawUnknownLetters.Name = "checkBoxNOcrDrawUnknownLetters";
|
||||||
this.checkBoxNOcrCorrect.Size = new System.Drawing.Size(116, 17);
|
this.checkBoxNOcrDrawUnknownLetters.Size = new System.Drawing.Size(116, 17);
|
||||||
this.checkBoxNOcrCorrect.TabIndex = 7;
|
this.checkBoxNOcrDrawUnknownLetters.TabIndex = 7;
|
||||||
this.checkBoxNOcrCorrect.Text = "Draw missing texts";
|
this.checkBoxNOcrDrawUnknownLetters.Text = "Draw missing texts";
|
||||||
this.checkBoxNOcrCorrect.UseVisualStyleBackColor = true;
|
this.checkBoxNOcrDrawUnknownLetters.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
// checkBoxRightToLeftNOCR
|
// checkBoxRightToLeftNOCR
|
||||||
//
|
//
|
||||||
@ -697,6 +697,7 @@ namespace Nikse.SubtitleEdit.Forms.Ocr
|
|||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
0});
|
0});
|
||||||
|
this.numericUpDownNumberOfPixelsIsSpaceNOCR.ValueChanged += new System.EventHandler(this.numericUpDownNumberOfPixelsIsSpaceNOCR_ValueChanged);
|
||||||
//
|
//
|
||||||
// labelNumberOfPixelsIsSpaceNOCR
|
// labelNumberOfPixelsIsSpaceNOCR
|
||||||
//
|
//
|
||||||
@ -1964,7 +1965,7 @@ namespace Nikse.SubtitleEdit.Forms.Ocr
|
|||||||
private System.Windows.Forms.CheckBox checkBoxRightToLeftNOCR;
|
private System.Windows.Forms.CheckBox checkBoxRightToLeftNOCR;
|
||||||
private System.Windows.Forms.NumericUpDown numericUpDownNumberOfPixelsIsSpaceNOCR;
|
private System.Windows.Forms.NumericUpDown numericUpDownNumberOfPixelsIsSpaceNOCR;
|
||||||
private System.Windows.Forms.Label labelNumberOfPixelsIsSpaceNOCR;
|
private System.Windows.Forms.Label labelNumberOfPixelsIsSpaceNOCR;
|
||||||
private System.Windows.Forms.CheckBox checkBoxNOcrCorrect;
|
private System.Windows.Forms.CheckBox checkBoxNOcrDrawUnknownLetters;
|
||||||
private System.Windows.Forms.CheckBox checkBoxNOcrItalic;
|
private System.Windows.Forms.CheckBox checkBoxNOcrItalic;
|
||||||
private System.Windows.Forms.Button buttonGetTesseractDictionaries;
|
private System.Windows.Forms.Button buttonGetTesseractDictionaries;
|
||||||
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItemInspectNOcrMatches;
|
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItemInspectNOcrMatches;
|
||||||
|
@ -543,7 +543,8 @@ namespace Nikse.SubtitleEdit.Forms.Ocr
|
|||||||
toolStripMenuItemClearGuesses.Text = Configuration.Settings.Language.DvdSubRip.Clear;
|
toolStripMenuItemClearGuesses.Text = Configuration.Settings.Language.DvdSubRip.Clear;
|
||||||
clearToolStripMenuItem.Text = Configuration.Settings.Language.DvdSubRip.Clear;
|
clearToolStripMenuItem.Text = Configuration.Settings.Language.DvdSubRip.Clear;
|
||||||
|
|
||||||
checkBoxNOcrCorrect.Checked = Configuration.Settings.VobSubOcr.LineOcrDraw;
|
checkBoxNOcrDrawUnknownLetters.Checked = Configuration.Settings.VobSubOcr.LineOcrDraw;
|
||||||
|
comboBoxNOcrLineSplitMinHeight.SelectedIndex = Configuration.Settings.VobSubOcr.LineOcrMaxLineHeight;
|
||||||
checkBoxNOcrItalic.Checked = Configuration.Settings.VobSubOcr.LineOcrAdvancedItalic;
|
checkBoxNOcrItalic.Checked = Configuration.Settings.VobSubOcr.LineOcrAdvancedItalic;
|
||||||
numericUpDownNOcrMaxWrongPixels.Value = Configuration.Settings.VobSubOcr.LineOcrMaxErrorPixels;
|
numericUpDownNOcrMaxWrongPixels.Value = Configuration.Settings.VobSubOcr.LineOcrMaxErrorPixels;
|
||||||
|
|
||||||
@ -804,6 +805,7 @@ namespace Nikse.SubtitleEdit.Forms.Ocr
|
|||||||
{
|
{
|
||||||
Initialize(subtitles, vobSubOcrSettings, fileName);
|
Initialize(subtitles, vobSubOcrSettings, fileName);
|
||||||
_ocrMethodIndex = Configuration.Settings.VobSubOcr.LastOcrMethod == "Tesseract4" ? _ocrMethodTesseract4 : _ocrMethodTesseract302;
|
_ocrMethodIndex = Configuration.Settings.VobSubOcr.LastOcrMethod == "Tesseract4" ? _ocrMethodTesseract4 : _ocrMethodTesseract302;
|
||||||
|
var oldNOcrDrawText = checkBoxNOcrDrawUnknownLetters.Checked;
|
||||||
|
|
||||||
if (ocrEngine?.ToLowerInvariant() == "nocr")
|
if (ocrEngine?.ToLowerInvariant() == "nocr")
|
||||||
{
|
{
|
||||||
@ -827,6 +829,7 @@ namespace Nikse.SubtitleEdit.Forms.Ocr
|
|||||||
|
|
||||||
checkBoxShowOnlyForced.Checked = forcedOnly;
|
checkBoxShowOnlyForced.Checked = forcedOnly;
|
||||||
DoBatch();
|
DoBatch();
|
||||||
|
checkBoxNOcrDrawUnknownLetters.Checked = oldNOcrDrawText;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal void InitializeBatch(List<VobSubMergedPack> vobSubMergedPackList, List<Color> palette, VobSubOcrSettings vobSubOcrSettings, string fileName, bool forcedOnly, string language)
|
internal void InitializeBatch(List<VobSubMergedPack> vobSubMergedPackList, List<Color> palette, VobSubOcrSettings vobSubOcrSettings, string fileName, bool forcedOnly, string language)
|
||||||
@ -2849,7 +2852,7 @@ namespace Nikse.SubtitleEdit.Forms.Ocr
|
|||||||
|
|
||||||
if (result == null)
|
if (result == null)
|
||||||
{
|
{
|
||||||
if (checkBoxNOcrCorrect.Checked)
|
if (checkBoxNOcrDrawUnknownLetters.Checked)
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -3997,7 +4000,7 @@ namespace Nikse.SubtitleEdit.Forms.Ocr
|
|||||||
private void NOCRIntialize(Bitmap bitmap)
|
private void NOCRIntialize(Bitmap bitmap)
|
||||||
{
|
{
|
||||||
var nikseBitmap = new NikseBitmap(bitmap);
|
var nikseBitmap = new NikseBitmap(bitmap);
|
||||||
var list = NikseBitmapImageSplitter.SplitBitmapToLettersNew(nikseBitmap, (int)numericUpDownNumberOfPixelsIsSpaceNOCR.Value, checkBoxRightToLeft.Checked, Configuration.Settings.VobSubOcr.TopToBottom, 12);
|
var list = NikseBitmapImageSplitter.SplitBitmapToLettersNew(nikseBitmap, _numericUpDownPixelsIsSpace, checkBoxRightToLeft.Checked, Configuration.Settings.VobSubOcr.TopToBottom, 12);
|
||||||
foreach (var item in list)
|
foreach (var item in list)
|
||||||
{
|
{
|
||||||
if (item.NikseBitmap != null)
|
if (item.NikseBitmap != null)
|
||||||
@ -4040,7 +4043,7 @@ namespace Nikse.SubtitleEdit.Forms.Ocr
|
|||||||
minLineHeight = 5;
|
minLineHeight = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
var list = NikseBitmapImageSplitter.SplitBitmapToLettersNew(nbmpInput, (int)numericUpDownNumberOfPixelsIsSpaceNOCR.Value, checkBoxRightToLeft.Checked, Configuration.Settings.VobSubOcr.TopToBottom, minLineHeight);
|
var list = NikseBitmapImageSplitter.SplitBitmapToLettersNew(nbmpInput, _numericUpDownPixelsIsSpace, checkBoxRightToLeftNOCR.Checked, Configuration.Settings.VobSubOcr.TopToBottom, minLineHeight);
|
||||||
|
|
||||||
int index = 0;
|
int index = 0;
|
||||||
bool expandSelection = false;
|
bool expandSelection = false;
|
||||||
@ -4110,7 +4113,7 @@ namespace Nikse.SubtitleEdit.Forms.Ocr
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var match = GetNOcrCompareMatchNew(item, nbmpInput, _nOcrDb, checkBoxNOcrItalic.Checked, !checkBoxNOcrCorrect.Checked, index, list);
|
var match = GetNOcrCompareMatchNew(item, nbmpInput, _nOcrDb, checkBoxNOcrItalic.Checked, !checkBoxNOcrDrawUnknownLetters.Checked, index, list);
|
||||||
if (match == null)
|
if (match == null)
|
||||||
{
|
{
|
||||||
_vobSubOcrNOcrCharacter.Initialize(bitmap, item, _manualOcrDialogPosition, _italicCheckedLast, false, string.Empty);
|
_vobSubOcrNOcrCharacter.Initialize(bitmap, item, _manualOcrDialogPosition, _italicCheckedLast, false, string.Empty);
|
||||||
@ -4830,7 +4833,7 @@ namespace Nikse.SubtitleEdit.Forms.Ocr
|
|||||||
_binaryOcrDb = new BinaryOcrDb(Configuration.OcrDirectory + "Latin.db", true);
|
_binaryOcrDb = new BinaryOcrDb(Configuration.OcrDirectory + "Latin.db", true);
|
||||||
}
|
}
|
||||||
|
|
||||||
checkBoxNOcrCorrect.Checked = true;
|
checkBoxNOcrDrawUnknownLetters.Checked = true;
|
||||||
_numericUpDownMaxErrorPct = (double)numericUpDownMaxErrorPct.Value;
|
_numericUpDownMaxErrorPct = (double)numericUpDownMaxErrorPct.Value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4882,7 +4885,7 @@ namespace Nikse.SubtitleEdit.Forms.Ocr
|
|||||||
if (start + i < max)
|
if (start + i < max)
|
||||||
{
|
{
|
||||||
var bw = new BackgroundWorker();
|
var bw = new BackgroundWorker();
|
||||||
var p = new NOcrThreadParameter(null, start + i, _nOcrDb, bw, noOfThreads, _unItalicFactor, checkBoxNOcrItalic.Checked, (int)numericUpDownNumberOfPixelsIsSpaceNOCR.Value, checkBoxRightToLeft.Checked)
|
var p = new NOcrThreadParameter(null, start + i, _nOcrDb, bw, noOfThreads, _unItalicFactor, checkBoxNOcrItalic.Checked, _numericUpDownPixelsIsSpace, checkBoxRightToLeftNOCR.Checked)
|
||||||
{
|
{
|
||||||
NOcrLastLowercaseHeight = GetLastBinOcrLowercaseHeight(),
|
NOcrLastLowercaseHeight = GetLastBinOcrLowercaseHeight(),
|
||||||
NOcrLastUppercaseHeight = GetLastBinOcrUppercaseHeight(),
|
NOcrLastUppercaseHeight = GetLastBinOcrUppercaseHeight(),
|
||||||
@ -6365,7 +6368,7 @@ namespace Nikse.SubtitleEdit.Forms.Ocr
|
|||||||
private void InitializeNOcrForBatch(string db)
|
private void InitializeNOcrForBatch(string db)
|
||||||
{
|
{
|
||||||
_ocrMethodIndex = _ocrMethodNocr;
|
_ocrMethodIndex = _ocrMethodNocr;
|
||||||
checkBoxNOcrCorrect.Checked = false;
|
checkBoxNOcrDrawUnknownLetters.Checked = false;
|
||||||
var fileName = string.Empty;
|
var fileName = string.Empty;
|
||||||
if (!string.IsNullOrEmpty(db))
|
if (!string.IsNullOrEmpty(db))
|
||||||
{
|
{
|
||||||
@ -8137,7 +8140,8 @@ namespace Nikse.SubtitleEdit.Forms.Ocr
|
|||||||
Configuration.Settings.VobSubOcr.PromptForUnknownWords = checkBoxPromptForUnknownWords.Checked;
|
Configuration.Settings.VobSubOcr.PromptForUnknownWords = checkBoxPromptForUnknownWords.Checked;
|
||||||
Configuration.Settings.VobSubOcr.GuessUnknownWords = checkBoxGuessUnknownWords.Checked;
|
Configuration.Settings.VobSubOcr.GuessUnknownWords = checkBoxGuessUnknownWords.Checked;
|
||||||
Configuration.Settings.VobSubOcr.AutoBreakSubtitleIfMoreThanTwoLines = checkBoxAutoBreakLines.Checked;
|
Configuration.Settings.VobSubOcr.AutoBreakSubtitleIfMoreThanTwoLines = checkBoxAutoBreakLines.Checked;
|
||||||
Configuration.Settings.VobSubOcr.LineOcrDraw = checkBoxNOcrCorrect.Checked;
|
Configuration.Settings.VobSubOcr.LineOcrDraw = checkBoxNOcrDrawUnknownLetters.Checked;
|
||||||
|
Configuration.Settings.VobSubOcr.LineOcrMaxLineHeight = comboBoxNOcrLineSplitMinHeight.SelectedIndex;
|
||||||
Configuration.Settings.VobSubOcr.LineOcrAdvancedItalic = checkBoxNOcrItalic.Checked;
|
Configuration.Settings.VobSubOcr.LineOcrAdvancedItalic = checkBoxNOcrItalic.Checked;
|
||||||
Configuration.Settings.VobSubOcr.XOrMorePixelsMakesSpace = (int)numericUpDownPixelsIsSpace.Value;
|
Configuration.Settings.VobSubOcr.XOrMorePixelsMakesSpace = (int)numericUpDownPixelsIsSpace.Value;
|
||||||
if (_ocrMethodIndex == _ocrMethodNocr)
|
if (_ocrMethodIndex == _ocrMethodNocr)
|
||||||
@ -8675,8 +8679,8 @@ namespace Nikse.SubtitleEdit.Forms.Ocr
|
|||||||
Cursor = Cursors.WaitCursor;
|
Cursor = Cursors.WaitCursor;
|
||||||
Bitmap bitmap = GetSubtitleBitmap(subtitleListView1.SelectedItems[0].Index);
|
Bitmap bitmap = GetSubtitleBitmap(subtitleListView1.SelectedItems[0].Index);
|
||||||
bool oldPrompt = checkBoxPromptForUnknownWords.Checked;
|
bool oldPrompt = checkBoxPromptForUnknownWords.Checked;
|
||||||
bool oldCorrect = checkBoxNOcrCorrect.Checked;
|
bool oldCorrect = checkBoxNOcrDrawUnknownLetters.Checked;
|
||||||
checkBoxNOcrCorrect.Checked = false;
|
checkBoxNOcrDrawUnknownLetters.Checked = false;
|
||||||
string result = OcrViaNOCR(bitmap, subtitleListView1.SelectedItems[0].Index);
|
string result = OcrViaNOCR(bitmap, subtitleListView1.SelectedItems[0].Index);
|
||||||
checkBoxPromptForUnknownWords.Checked = oldPrompt;
|
checkBoxPromptForUnknownWords.Checked = oldPrompt;
|
||||||
Cursor = Cursors.Default;
|
Cursor = Cursors.Default;
|
||||||
@ -8687,7 +8691,7 @@ namespace Nikse.SubtitleEdit.Forms.Ocr
|
|||||||
{
|
{
|
||||||
minLineHeight = 7;
|
minLineHeight = 7;
|
||||||
}
|
}
|
||||||
inspect.Initialize(bitmap, (int)numericUpDownNumberOfPixelsIsSpaceNOCR.Value, checkBoxRightToLeft.Checked, _nOcrDb, this, checkBoxNOcrItalic.Checked, minLineHeight);
|
inspect.Initialize(bitmap, _numericUpDownPixelsIsSpace, checkBoxRightToLeft.Checked, _nOcrDb, this, checkBoxNOcrItalic.Checked, minLineHeight);
|
||||||
if (inspect.ShowDialog(this) == DialogResult.OK)
|
if (inspect.ShowDialog(this) == DialogResult.OK)
|
||||||
{
|
{
|
||||||
Cursor = Cursors.WaitCursor;
|
Cursor = Cursors.WaitCursor;
|
||||||
@ -8702,7 +8706,7 @@ namespace Nikse.SubtitleEdit.Forms.Ocr
|
|||||||
Cursor = Cursors.Default;
|
Cursor = Cursors.Default;
|
||||||
}
|
}
|
||||||
|
|
||||||
checkBoxNOcrCorrect.Checked = oldCorrect;
|
checkBoxNOcrDrawUnknownLetters.Checked = oldCorrect;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -9094,11 +9098,6 @@ namespace Nikse.SubtitleEdit.Forms.Ocr
|
|||||||
base.Dispose(disposing);
|
base.Dispose(disposing);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void numericUpDownPixelsIsSpace_ValueChanged(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
_numericUpDownPixelsIsSpace = (int)numericUpDownPixelsIsSpace.Value;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void numericUpDownMaxErrorPct_ValueChanged(object sender, EventArgs e)
|
private void numericUpDownMaxErrorPct_ValueChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
_numericUpDownMaxErrorPct = (double)numericUpDownMaxErrorPct.Value;
|
_numericUpDownMaxErrorPct = (double)numericUpDownMaxErrorPct.Value;
|
||||||
@ -9323,5 +9322,26 @@ namespace Nikse.SubtitleEdit.Forms.Ocr
|
|||||||
LoadImageCompareCharacterDatabaseList(form.ImageCompareDatabaseName);
|
LoadImageCompareCharacterDatabaseList(form.ImageCompareDatabaseName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void numericUpDownNumberOfPixelsIsSpaceNOCR_ValueChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (_ocrMethodIndex == _ocrMethodNocr)
|
||||||
|
{
|
||||||
|
numericUpDownPixelsIsSpace.Value = numericUpDownNumberOfPixelsIsSpaceNOCR.Value;
|
||||||
|
}
|
||||||
|
|
||||||
|
_numericUpDownPixelsIsSpace = (int)numericUpDownNumberOfPixelsIsSpaceNOCR.Value;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void numericUpDownPixelsIsSpace_ValueChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (_ocrMethodIndex == _ocrMethodBinaryImageCompare)
|
||||||
|
{
|
||||||
|
numericUpDownNumberOfPixelsIsSpaceNOCR.Value = numericUpDownPixelsIsSpace.Value;
|
||||||
|
}
|
||||||
|
|
||||||
|
_numericUpDownPixelsIsSpace = (int)numericUpDownNumberOfPixelsIsSpaceNOCR.Value;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -438,6 +438,11 @@ namespace Nikse.SubtitleEdit.Logic
|
|||||||
|
|
||||||
var lineBitmaps = splitOld.Count > splitBlankLines.Count ? splitOld : splitBlankLines;
|
var lineBitmaps = splitOld.Count > splitBlankLines.Count ? splitOld : splitBlankLines;
|
||||||
|
|
||||||
|
if (lineBitmaps.Count == 1 && lineBitmaps[0].NikseBitmap?.Height > minLineHeight * 2.2)
|
||||||
|
{
|
||||||
|
lineBitmaps = SplitToLinesNew(lineBitmaps[0], minLineHeight, averageLineHeight); // more advanced split (allows for up/down)
|
||||||
|
}
|
||||||
|
|
||||||
//foreach (var bitmap in tempBitmaps)
|
//foreach (var bitmap in tempBitmaps)
|
||||||
//{
|
//{
|
||||||
// // var height = bitmap.NikseBitmap.GetNonTransparentHeight();
|
// // var height = bitmap.NikseBitmap.GetNonTransparentHeight();
|
||||||
|
Loading…
Reference in New Issue
Block a user