processingPresets.ts 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. /**
  2. * 图像处理风格预设配置
  3. * 风格只定义参数组合,不包含 LUT 和算法
  4. */
  5. import type { ProcessingStyle, ProcessingPreset, ParameterConfig } from '../types/imageProcessing';
  6. // 风格预设配置(只包含参数)
  7. export const PROCESSING_PRESETS: Record<ProcessingStyle, ProcessingPreset> = {
  8. '均衡': {
  9. style: '均衡',
  10. params: {
  11. contrast: 5.0, // 增益
  12. detail: 9.0, // 细节
  13. latitude: 25.0, // 动态范围
  14. noise: 12.0, // 噪声模式
  15. brightness: -2.0, // 对比度(前端维护)
  16. sharpness: 1.0, // 亮度(前端维护)
  17. },
  18. },
  19. '高对比': {
  20. style: '高对比',
  21. params: {
  22. contrast: 7.0,
  23. detail: 8.0,
  24. latitude: 20.0,
  25. noise: 10.0,
  26. brightness: 0.0,
  27. sharpness: 2.0,
  28. },
  29. },
  30. '锐组织': {
  31. style: '锐组织',
  32. params: {
  33. contrast: 6.0,
  34. detail: 12.0,
  35. latitude: 22.0,
  36. noise: 8.0,
  37. brightness: -1.0,
  38. sharpness: 3.0,
  39. },
  40. },
  41. '骨骼': {
  42. style: '骨骼',
  43. params: {
  44. contrast: 8.0,
  45. detail: 6.0,
  46. latitude: 18.0,
  47. noise: 15.0,
  48. brightness: 1.0,
  49. sharpness: 0.5,
  50. },
  51. },
  52. };
  53. // 参数范围配置(根据需求文档)
  54. export const PARAMETER_RANGES: ParameterConfig = {
  55. gain: {
  56. min: -5,
  57. max: 45,
  58. step: 1,
  59. default: 5.0,
  60. },
  61. detail: {
  62. min: -0.5,
  63. max: 24.5,
  64. step: 1,
  65. default: 9.0,
  66. },
  67. latitude: {
  68. min: -5,
  69. max: 20,
  70. step: 1,
  71. default: 25.0,
  72. },
  73. noise: {
  74. min: 0,
  75. max: 20,
  76. step: 1,
  77. default: 12.0,
  78. },
  79. brightness: {
  80. min: -8,
  81. max: 8,
  82. step: 1,
  83. default: -2.0,
  84. },
  85. sharpness: {
  86. min: -8,
  87. max: 8,
  88. step: 1,
  89. default: 1.0,
  90. },
  91. };
  92. // 算法选项(当前只有一个)
  93. export const ALGORITHM_OPTIONS = ['RSymphony'];
  94. export const DEFAULT_ALGORITHM = 'RSymphony';
  95. // 预留扩展:从后端获取风格配置的适配器接口
  96. export interface PresetAdapter {
  97. fetchPresets: () => Promise<Record<ProcessingStyle, ProcessingPreset>>;
  98. }
  99. // 预留扩展:从后端获取算法列表的适配器接口
  100. export interface AlgorithmAdapter {
  101. fetchAlgorithmOptions: () => Promise<string[]>;
  102. }
  103. // 默认适配器实现(使用本地配置)
  104. export class LocalPresetAdapter implements PresetAdapter {
  105. async fetchPresets(): Promise<Record<ProcessingStyle, ProcessingPreset>> {
  106. return Promise.resolve(PROCESSING_PRESETS);
  107. }
  108. }
  109. export class LocalAlgorithmAdapter implements AlgorithmAdapter {
  110. async fetchAlgorithmOptions(): Promise<string[]> {
  111. return Promise.resolve(ALGORITHM_OPTIONS);
  112. }
  113. }