ENH: update flush table

1. For cases where light color switch to dark color, multiply the value
with 1.3

jira : NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I6b5b2f8e9578d031bbf830ecf18f0069865af2e6
This commit is contained in:
xun.zhang 2025-03-24 11:19:47 +08:00 committed by lane.wei
parent eb24f6be07
commit cfa54c5505
3 changed files with 35 additions and 2 deletions

View File

@ -25,6 +25,7 @@ src dst flush
#545454 #0A2989 120
#545454 #FF6A13 360
#545454 #0086D6 300
#545454 #F7E6DE 780
#545454 #00AE42 330
#8E9089 #000000 210
#8E9089 #FFFFFF 450
@ -32,6 +33,7 @@ src dst flush
#8E9089 #F4EE2A 360
#8E9089 #0A2989 210
#8E9089 #FF6A13 300
#8E9089 #F7E6DE 450
#8E9089 #00AE42 210
#C12E1F #000000 120
#C12E1F #FFFFFF 720
@ -48,6 +50,7 @@ src dst flush
#F4EE2A #0A2989 330
#F4EE2A #FF6A13 150
#F4EE2A #0086D6 420
#F4EE2A #F7E6DE 870
#0A2989 #000000 90
#0A2989 #FFFFFF 630
#0A2989 #545454 150
@ -56,6 +59,7 @@ src dst flush
#0A2989 #F4EE2A 510
#0A2989 #FF6A13 480
#0A2989 #0086D6 300
#0A2989 #F7E6DE 630
#0A2989 #00AE42 660
#FF6A13 #000000 90
#FF6A13 #FFFFFF 570
@ -75,9 +79,16 @@ src dst flush
#0086D6 #FF6A13 330
#0086D6 #F7E6DE 450
#0086D6 #00AE42 180
#F7E6DE #000000 90
#F7E6DE #545454 120
#F7E6DE #F4EE2A 120
#F7E6DE #0A2989 150
#F7E6DE #FF6A13 120
#F7E6DE #00AE42 120
#00AE42 #000000 90
#00AE42 #FFFFFF 630
#00AE42 #545454 210
#00AE42 #F4EE2A 360
#00AE42 #0A2989 210
#00AE42 #0086D6 360
#00AE42 #0086D6 360
#00AE42 #F7E6DE 630

View File

@ -9,6 +9,7 @@ src dst flush
#000000 #0A2989 360
#000000 #FF6A13 900
#000000 #0086D6 630
#000000 #F7E6DE 900
#000000 #00AE42 780
#FFFFFF #000000 90
#FFFFFF #545454 90
@ -31,6 +32,7 @@ src dst flush
#8E9089 #545454 150
#8E9089 #F4EE2A 330
#8E9089 #0A2989 330
#8E9089 #F7E6DE 390
#8E9089 #00AE42 240
#C12E1F #000000 90
#C12E1F #FFFFFF 780
@ -49,6 +51,7 @@ src dst flush
#F4EE2A #0A2989 390
#F4EE2A #FF6A13 180
#F4EE2A #0086D6 450
#F4EE2A #F7E6DE 690
#0A2989 #000000 90
#0A2989 #FFFFFF 630
#0A2989 #545454 300
@ -57,6 +60,7 @@ src dst flush
#0A2989 #F4EE2A 510
#0A2989 #FF6A13 420
#0A2989 #0086D6 330
#0A2989 #F7E6DE 630
#0A2989 #00AE42 390
#FF6A13 #000000 90
#FF6A13 #FFFFFF 420
@ -66,6 +70,7 @@ src dst flush
#FF6A13 #F4EE2A 180
#FF6A13 #0A2989 210
#FF6A13 #0086D6 360
#FF6A13 #F7E6DE 420
#FF6A13 #00AE42 240
#0086D6 #000000 90
#0086D6 #FFFFFF 510
@ -75,11 +80,20 @@ src dst flush
#0086D6 #F4EE2A 420
#0086D6 #0A2989 120
#0086D6 #FF6A13 390
#0086D6 #F7E6DE 510
#0086D6 #00AE42 300
#F7E6DE #000000 90
#F7E6DE #545454 90
#F7E6DE #8E9089 180
#F7E6DE #F4EE2A 150
#F7E6DE #0A2989 60
#F7E6DE #FF6A13 150
#F7E6DE #00AE42 150
#00AE42 #FFFFFF 570
#00AE42 #545454 270
#00AE42 #8E9089 480
#00AE42 #F4EE2A 450
#00AE42 #0A2989 270
#00AE42 #FF6A13 300
#00AE42 #0086D6 390
#00AE42 #0086D6 390
#00AE42 #F7E6DE 570

View File

@ -124,6 +124,14 @@ int FlushVolCalculator::calc_flush_vol(unsigned char src_a, unsigned char src_r,
flush_volume = calc_flush_vol_rgb(src_r, src_g, src_b, dst_r, dst_g, dst_b);
constexpr float dark_color_thres = 180.f/255.f;
constexpr float light_color_thres = 75.f/255.f;
bool is_from_dark = get_luminance(src_r, src_g, src_b) > dark_color_thres;
bool is_to_light = get_luminance(dst_r, dst_g, dst_b) < light_color_thres;
if (m_machine_type != FlushPredict::Standard && is_from_dark && is_to_light)
flush_volume *= 1.3;
flush_volume += m_min_flush_vol;
return std::min((int)flush_volume, m_max_flush_vol);
}