|
@@ -153,32 +153,37 @@ def create_adjustment_section(structure):
|
|
|
st.success(f"✅ 已删除 {len(to_delete)} 条竖线")
|
|
st.success(f"✅ 已删除 {len(to_delete)} 条竖线")
|
|
|
|
|
|
|
|
elif adjustment_action == "微调旋转":
|
|
elif adjustment_action == "微调旋转":
|
|
|
- st.info("📐 微调图片的旋转角度 (基于当前角度), 正值逆时针旋转,负值顺时针旋转")
|
|
|
|
|
|
|
+ st.info("📐 手动修正图片的倾斜角度。系统会根据设定的倾斜角度,进行**反向旋转**来校正图片。")
|
|
|
|
|
|
|
|
if 'generator' in st.session_state:
|
|
if 'generator' in st.session_state:
|
|
|
generator = st.session_state.generator
|
|
generator = st.session_state.generator
|
|
|
current_skew = generator.ocr_data.get('skew_angle', 0.0)
|
|
current_skew = generator.ocr_data.get('skew_angle', 0.0)
|
|
|
original_skew = generator.ocr_data.get('original_skew_angle', 0.0)
|
|
original_skew = generator.ocr_data.get('original_skew_angle', 0.0)
|
|
|
|
|
|
|
|
|
|
+ # 计算实际执行的旋转角度
|
|
|
|
|
+ applied_rotation = -current_skew
|
|
|
|
|
+
|
|
|
st.markdown(f"""
|
|
st.markdown(f"""
|
|
|
- **当前总倾斜校正:** `{current_skew:.2f}°` -- *(原始文件读取: `{original_skew:.2f}°`)*
|
|
|
|
|
|
|
+ * **原始识别倾斜:** `{original_skew:.2f}°` (OCR模型检测到的原始角度)
|
|
|
|
|
+ * **当前设定倾斜:** `{current_skew:.2f}°` (系统认为图片歪了多少)
|
|
|
|
|
+ * **实际执行旋转:** `{applied_rotation:.2f}°` (系统实际执行的**反向**校正旋转)
|
|
|
""")
|
|
""")
|
|
|
|
|
|
|
|
col1, col2 = st.columns([1, 1], width=300, gap="small")
|
|
col1, col2 = st.columns([1, 1], width=300, gap="small")
|
|
|
with col1:
|
|
with col1:
|
|
|
delta_angle = st.number_input(
|
|
delta_angle = st.number_input(
|
|
|
- "旋转偏移量 (度)",
|
|
|
|
|
|
|
+ "调整设定值 (度)",
|
|
|
min_value=-10.0,
|
|
min_value=-10.0,
|
|
|
max_value=10.0,
|
|
max_value=10.0,
|
|
|
value=0.0,
|
|
value=0.0,
|
|
|
- step=0.01,
|
|
|
|
|
|
|
+ step=0.05,
|
|
|
format="%.2f",
|
|
format="%.2f",
|
|
|
- help="正值逆时针旋转,负值顺时针旋转",
|
|
|
|
|
|
|
+ help="增加设定值 -> 系统认为图片逆时针歪得更多 -> 执行更大幅度的顺时针旋转",
|
|
|
label_visibility="collapsed",
|
|
label_visibility="collapsed",
|
|
|
key="rotate_delta_input"
|
|
key="rotate_delta_input"
|
|
|
)
|
|
)
|
|
|
with col2:
|
|
with col2:
|
|
|
- if st.button("🔄 应用", key="apply_rotate_btn"):
|
|
|
|
|
|
|
+ if st.button("🔄 应用调整", key="apply_rotate_btn"):
|
|
|
if delta_angle != 0:
|
|
if delta_angle != 0:
|
|
|
# 更新 skew_angle
|
|
# 更新 skew_angle
|
|
|
generator.ocr_data['skew_angle'] = current_skew + delta_angle
|
|
generator.ocr_data['skew_angle'] = current_skew + delta_angle
|