fix: avoid false seam rejection on scale shrink
This commit is contained in:
parent
6baeb57cde
commit
360cba0873
@ -206,6 +206,8 @@ const SCALE_ADJUST_RECTANGULAR_SEAM_PAIR_RUN_RATIO = 0.11;
|
|||||||
const SCALE_ADJUST_RECTANGULAR_SEAM_PAIR_TRANSITION_RATIO = 0.18;
|
const SCALE_ADJUST_RECTANGULAR_SEAM_PAIR_TRANSITION_RATIO = 0.18;
|
||||||
const SCALE_ADJUST_RECTANGULAR_SEAM_STRONG_RUN_RATIO = 0.1;
|
const SCALE_ADJUST_RECTANGULAR_SEAM_STRONG_RUN_RATIO = 0.1;
|
||||||
const SCALE_ADJUST_RECTANGULAR_SEAM_STRONG_TRANSITION_RATIO = 0.26;
|
const SCALE_ADJUST_RECTANGULAR_SEAM_STRONG_TRANSITION_RATIO = 0.26;
|
||||||
|
const SCALE_ADJUST_RECTANGULAR_SEAM_VERY_STRONG_RUN_RATIO = 0.55;
|
||||||
|
const SCALE_ADJUST_RECTANGULAR_SEAM_VERY_STRONG_TRANSITION_RATIO = 0.5;
|
||||||
|
|
||||||
const SUPPORTED_CANVAS_PROVIDER_TYPES = new Set([
|
const SUPPORTED_CANVAS_PROVIDER_TYPES = new Set([
|
||||||
"gemini",
|
"gemini",
|
||||||
@ -1147,9 +1149,26 @@ async function getScaleAdjustRectangularSeamStats(params: {
|
|||||||
SCALE_ADJUST_RECTANGULAR_SEAM_STRONG_RUN_RATIO &&
|
SCALE_ADJUST_RECTANGULAR_SEAM_STRONG_RUN_RATIO &&
|
||||||
bestHorizontal.transitionRatio >=
|
bestHorizontal.transitionRatio >=
|
||||||
SCALE_ADJUST_RECTANGULAR_SEAM_STRONG_TRANSITION_RATIO;
|
SCALE_ADJUST_RECTANGULAR_SEAM_STRONG_TRANSITION_RATIO;
|
||||||
|
const verticalVeryStrong =
|
||||||
|
bestVertical &&
|
||||||
|
bestVertical.maxRunRatio >=
|
||||||
|
SCALE_ADJUST_RECTANGULAR_SEAM_VERY_STRONG_RUN_RATIO &&
|
||||||
|
bestVertical.transitionRatio >=
|
||||||
|
SCALE_ADJUST_RECTANGULAR_SEAM_VERY_STRONG_TRANSITION_RATIO;
|
||||||
|
const horizontalVeryStrong =
|
||||||
|
bestHorizontal &&
|
||||||
|
bestHorizontal.maxRunRatio >=
|
||||||
|
SCALE_ADJUST_RECTANGULAR_SEAM_VERY_STRONG_RUN_RATIO &&
|
||||||
|
bestHorizontal.transitionRatio >=
|
||||||
|
SCALE_ADJUST_RECTANGULAR_SEAM_VERY_STRONG_TRANSITION_RATIO;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
detected: Boolean((verticalPair && horizontalPair) || verticalStrong || horizontalStrong),
|
detected: Boolean(
|
||||||
|
(verticalPair && horizontalPair) ||
|
||||||
|
(verticalStrong && horizontalStrong) ||
|
||||||
|
verticalVeryStrong ||
|
||||||
|
horizontalVeryStrong
|
||||||
|
),
|
||||||
horizontal: bestHorizontal,
|
horizontal: bestHorizontal,
|
||||||
lineStep,
|
lineStep,
|
||||||
protectedBoxCount: protectedBoxes.length,
|
protectedBoxCount: protectedBoxes.length,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user