work on new crop
This commit is contained in:
parent
9845e7f9bf
commit
a7fab55d44
22 changed files with 975 additions and 10 deletions
|
|
@ -581,6 +581,14 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div style="margin-bottom:16px">
|
||||
<div class="section-title" style="margin-bottom:6px">Tooltip Method</div>
|
||||
<select id="ocrTooltipMethod" class="mode-select" style="width:100%" onchange="toggleOcrSections()">
|
||||
<option value="diff">Diff Detection</option>
|
||||
<option value="edge">Edge Detection</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div style="margin-bottom:16px">
|
||||
<div class="section-title" style="margin-bottom:6px">Tooltip Preprocess</div>
|
||||
<select id="ocrTooltipPreprocess" class="mode-select" style="width:100%" onchange="toggleOcrSections()">
|
||||
|
|
@ -590,8 +598,8 @@
|
|||
</select>
|
||||
</div>
|
||||
|
||||
<div style="margin-bottom:16px">
|
||||
<div class="section-title" style="margin-bottom:6px">Crop Detection</div>
|
||||
<div id="diffCropParams" style="margin-bottom:16px">
|
||||
<div class="section-title" style="margin-bottom:6px">Crop Detection (Diff)</div>
|
||||
<div class="settings-grid">
|
||||
<div class="setting-row">
|
||||
<label>Diff Threshold</label>
|
||||
|
|
@ -608,6 +616,32 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div id="edgeCropParams" style="margin-bottom:16px;display:none">
|
||||
<div class="section-title" style="margin-bottom:6px">Crop Detection (Edge)</div>
|
||||
<div class="settings-grid">
|
||||
<div class="setting-row">
|
||||
<label>Canny Low</label>
|
||||
<input type="number" id="ocrCannyLow" value="50" />
|
||||
</div>
|
||||
<div class="setting-row">
|
||||
<label>Canny High</label>
|
||||
<input type="number" id="ocrCannyHigh" value="150" />
|
||||
</div>
|
||||
<div class="setting-row">
|
||||
<label>Min Line Length</label>
|
||||
<input type="number" id="ocrMinLineLength" value="100" />
|
||||
</div>
|
||||
<div class="setting-row">
|
||||
<label>ROI Size</label>
|
||||
<input type="number" id="ocrRoiSize" value="1400" />
|
||||
</div>
|
||||
<div class="setting-row">
|
||||
<label>Density Threshold</label>
|
||||
<input type="number" id="ocrDensityThreshold" value="0.15" step="0.01" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="margin-bottom:16px">
|
||||
<div class="section-title" style="margin-bottom:6px">OCR Processing</div>
|
||||
<div class="settings-grid">
|
||||
|
|
@ -1160,7 +1194,24 @@
|
|||
const screenPp = document.getElementById('ocrScreenPreprocess').value;
|
||||
document.getElementById('screenTophatParams').style.display = screenPp === 'tophat' ? '' : 'none';
|
||||
|
||||
const tooltipPp = document.getElementById('ocrTooltipPreprocess').value;
|
||||
const method = document.getElementById('ocrTooltipMethod').value;
|
||||
const isEdge = method === 'edge';
|
||||
|
||||
// Show/hide method-specific crop params
|
||||
document.getElementById('diffCropParams').style.display = isEdge ? 'none' : '';
|
||||
document.getElementById('edgeCropParams').style.display = isEdge ? '' : 'none';
|
||||
|
||||
// Disable bgsub when edge (no reference frame)
|
||||
const ppSelect = document.getElementById('ocrTooltipPreprocess');
|
||||
const bgsubOption = ppSelect.querySelector('option[value="bgsub"]');
|
||||
if (isEdge) {
|
||||
bgsubOption.disabled = true;
|
||||
if (ppSelect.value === 'bgsub') ppSelect.value = 'tophat';
|
||||
} else {
|
||||
bgsubOption.disabled = false;
|
||||
}
|
||||
|
||||
const tooltipPp = ppSelect.value;
|
||||
document.getElementById('tooltipBgsubParams').style.display = tooltipPp === 'bgsub' ? '' : 'none';
|
||||
document.getElementById('tooltipTophatParams').style.display = tooltipPp === 'tophat' ? '' : 'none';
|
||||
|
||||
|
|
@ -1175,11 +1226,20 @@
|
|||
if (!data.ok) return;
|
||||
document.getElementById('ocrEngine').value = data.engine || 'easyocr';
|
||||
document.getElementById('ocrScreenPreprocess').value = data.screenPreprocess || 'none';
|
||||
document.getElementById('ocrTooltipMethod').value = data.tooltipMethod || 'diff';
|
||||
document.getElementById('ocrTooltipPreprocess').value = data.tooltipPreprocess || 'tophat';
|
||||
document.getElementById('ocrSaveDebugImages').checked = data.saveDebugImages !== false;
|
||||
const tp = data.tooltipParams || {};
|
||||
const crop = tp.crop || {};
|
||||
const ocr = tp.ocr || {};
|
||||
// Edge params
|
||||
const ep = data.edgeParams || {};
|
||||
const edgeCrop = ep.crop || {};
|
||||
document.getElementById('ocrCannyLow').value = edgeCrop.cannyLow ?? 50;
|
||||
document.getElementById('ocrCannyHigh').value = edgeCrop.cannyHigh ?? 150;
|
||||
document.getElementById('ocrMinLineLength').value = edgeCrop.minLineLength ?? 100;
|
||||
document.getElementById('ocrRoiSize').value = edgeCrop.roiSize ?? 1400;
|
||||
document.getElementById('ocrDensityThreshold').value = edgeCrop.densityThreshold ?? 0.15;
|
||||
document.getElementById('ocrDiffThresh').value = crop.diffThresh ?? 20;
|
||||
document.getElementById('ocrMaxGap').value = crop.maxGap ?? 20;
|
||||
document.getElementById('ocrTrimCutoff').value = crop.trimCutoff ?? 0.4;
|
||||
|
|
@ -1237,11 +1297,29 @@
|
|||
if (!isNaN(wt)) tooltipParams.ocr.widthThs = wt;
|
||||
}
|
||||
|
||||
const tooltipMethod = document.getElementById('ocrTooltipMethod').value;
|
||||
|
||||
const edgeParams = {
|
||||
crop: {
|
||||
cannyLow: parseInt(document.getElementById('ocrCannyLow').value) || 50,
|
||||
cannyHigh: parseInt(document.getElementById('ocrCannyHigh').value) || 150,
|
||||
minLineLength: parseInt(document.getElementById('ocrMinLineLength').value) || 100,
|
||||
roiSize: parseInt(document.getElementById('ocrRoiSize').value) || 1400,
|
||||
densityThreshold: parseFloat(document.getElementById('ocrDensityThreshold').value) || 0.15,
|
||||
},
|
||||
ocr: {
|
||||
upscale: parseInt(document.getElementById('ocrUpscale').value) || 2,
|
||||
kernelSize: parseInt(document.getElementById('ocrTooltipKernel').value) || 21,
|
||||
},
|
||||
};
|
||||
|
||||
const body = {
|
||||
engine,
|
||||
screenPreprocess: screenPp,
|
||||
tooltipMethod,
|
||||
tooltipPreprocess: tooltipPp,
|
||||
tooltipParams,
|
||||
edgeParams,
|
||||
saveDebugImages: document.getElementById('ocrSaveDebugImages').checked,
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue