跳一跳UV面切分改用blob+gradient自适应算法
重构alpha.rs洋红去背预设参数 新增jump_hop_atlas_slicing.rs独立切图模块 修复jump_hop.rs调用链接入新切图算法
This commit is contained in:
@@ -141,9 +141,12 @@ fn remove_generated_asset_sheet_green_screen_background(
|
||||
return;
|
||||
}
|
||||
let alpha = pixels[pixel_index * 4 + 3];
|
||||
// 中文注释:绿幕模式下 alpha 携带背景/前景信息;洋红/青色等非绿幕模式下
|
||||
// 图像通常无 alpha 通道(全部为 255),因此仅依赖 key_score 判断,不关 alpha。
|
||||
let ignore_alpha = !options.key_color.is_green_screen();
|
||||
let strong_candidate = alpha < 40
|
||||
|| key_scores[pixel_index] >= GENERATED_ASSET_SHEET_HARD_GREEN_SCREEN_SCORE
|
||||
|| (alpha < 224
|
||||
|| ((ignore_alpha || alpha < 224)
|
||||
&& key_scores[pixel_index] > GENERATED_ASSET_SHEET_GREEN_SCREEN_MIN_SCORE)
|
||||
|| (options.remove_near_white_background && white_scores[pixel_index] > 0.32);
|
||||
if !strong_candidate {
|
||||
@@ -196,13 +199,16 @@ fn remove_generated_asset_sheet_green_screen_background(
|
||||
let key_score = key_scores[next_pixel_index];
|
||||
let white_score = white_scores[next_pixel_index];
|
||||
let hint = background_hints[next_pixel_index];
|
||||
// 中文注释:非绿幕模式(洋红/青色等)下图像无 alpha 通道,不依赖 alpha 判断边界。
|
||||
let ignore_alpha = !options.key_color.is_green_screen();
|
||||
let reachable_soft_edge = hint > 0.08
|
||||
&& alpha < 224
|
||||
&& (ignore_alpha || alpha < 224)
|
||||
&& (key_score > 0.04
|
||||
|| (options.remove_near_white_background && white_score > 0.08)
|
||||
|| alpha < 180);
|
||||
let key_background = key_score >= GENERATED_ASSET_SHEET_HARD_GREEN_SCREEN_SCORE
|
||||
|| (alpha < 224 && key_score > GENERATED_ASSET_SHEET_GREEN_SCREEN_MIN_SCORE);
|
||||
|| ((ignore_alpha || alpha < 224)
|
||||
&& key_score > GENERATED_ASSET_SHEET_GREEN_SCREEN_MIN_SCORE);
|
||||
if alpha < 40
|
||||
|| key_background
|
||||
|| (options.remove_near_white_background && white_score > 0.32)
|
||||
|
||||
Reference in New Issue
Block a user