|
@@ -1,62 +1,54 @@
|
|
|
package com.taais.biz.controller;
|
|
|
|
|
|
|
|
|
-import java.io.*;
|
|
|
-import java.nio.charset.StandardCharsets;
|
|
|
-import java.nio.file.DirectoryStream;
|
|
|
-import java.nio.file.Files;
|
|
|
-import java.nio.file.Path;
|
|
|
-import java.nio.file.Paths;
|
|
|
-import java.util.*;
|
|
|
-import java.util.regex.Matcher;
|
|
|
-import java.util.regex.Pattern;
|
|
|
-import java.util.stream.Collectors;
|
|
|
-import java.util.stream.Stream;
|
|
|
-
|
|
|
+import cn.dev33.satoken.annotation.SaCheckPermission;
|
|
|
import com.alibaba.fastjson2.JSONArray;
|
|
|
import com.alibaba.fastjson2.JSONObject;
|
|
|
import com.mybatisflex.core.query.QueryWrapper;
|
|
|
import com.taais.biz.domain.CommonAlgorithmConfig;
|
|
|
import com.taais.biz.domain.DataAugmentation;
|
|
|
-import com.taais.biz.domain.bo.CommonAlgorithmConfigBo;
|
|
|
import com.taais.biz.domain.bo.DataAugmentationBo;
|
|
|
import com.taais.biz.domain.bo.DataAugmentationResultBo;
|
|
|
-import com.taais.biz.domain.bo.VideoStableStartResultBo;
|
|
|
import com.taais.biz.domain.dto.Metric;
|
|
|
-import com.taais.biz.domain.vo.*;
|
|
|
+import com.taais.biz.domain.vo.DataAugmentationVo;
|
|
|
+import com.taais.biz.domain.vo.ImageUrlPair;
|
|
|
+import com.taais.biz.domain.vo.TaskDictDataVo;
|
|
|
+import com.taais.biz.domain.vo.VideoUrl;
|
|
|
import com.taais.biz.service.ICommonAlgorithmConfigService;
|
|
|
+import com.taais.biz.service.IDataAugmentationService;
|
|
|
import com.taais.biz.service.IVideoStableService;
|
|
|
+import com.taais.biz.utils.NaturalOrderComparator;
|
|
|
import com.taais.common.core.config.TaaisConfig;
|
|
|
-import com.taais.common.core.service.OssService;
|
|
|
-import com.taais.system.domain.SysDictData;
|
|
|
-import com.taais.system.domain.SysOss;
|
|
|
+import com.taais.common.core.core.domain.CommonResult;
|
|
|
+import com.taais.common.core.core.page.PageResult;
|
|
|
+import com.taais.common.log.annotation.Log;
|
|
|
+import com.taais.common.log.enums.BusinessType;
|
|
|
+import com.taais.common.web.annotation.RepeatSubmit;
|
|
|
+import com.taais.common.web.core.BaseController;
|
|
|
import com.taais.system.service.ISysDictDataService;
|
|
|
import com.taais.system.service.ISysOssService;
|
|
|
+import jakarta.annotation.Resource;
|
|
|
+import jakarta.servlet.http.HttpServletResponse;
|
|
|
import jakarta.validation.Valid;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
-import jakarta.servlet.http.HttpServletResponse;
|
|
|
-import cn.dev33.satoken.annotation.SaCheckPermission;
|
|
|
-import org.apache.commons.compress.archivers.ar.ArArchiveEntry;
|
|
|
import org.apache.commons.io.IOUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.core.io.FileSystemResource;
|
|
|
import org.springframework.http.HttpHeaders;
|
|
|
import org.springframework.http.MediaType;
|
|
|
import org.springframework.http.ResponseEntity;
|
|
|
-import org.springframework.web.bind.annotation.*;
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
-import com.taais.common.core.core.domain.CommonResult;
|
|
|
-import com.taais.common.excel.utils.ExcelUtil;
|
|
|
-import com.taais.common.log.annotation.Log;
|
|
|
-import com.taais.common.log.enums.BusinessType;
|
|
|
-import com.taais.common.web.annotation.RepeatSubmit;
|
|
|
-import com.taais.common.web.core.BaseController;
|
|
|
-import jakarta.annotation.Resource;
|
|
|
-import com.taais.biz.service.IDataAugmentationService;
|
|
|
-
|
|
|
-import com.taais.common.core.core.page.PageResult;
|
|
|
+import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
-import static com.taais.biz.service.impl.ToInfraredServiceImpl.readLogContent;
|
|
|
+import java.io.*;
|
|
|
+import java.nio.charset.StandardCharsets;
|
|
|
+import java.nio.file.Files;
|
|
|
+import java.nio.file.Path;
|
|
|
+import java.nio.file.Paths;
|
|
|
+import java.util.*;
|
|
|
+import java.util.regex.Matcher;
|
|
|
+import java.util.regex.Pattern;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+import java.util.stream.Stream;
|
|
|
|
|
|
/**
|
|
|
* 数据增强Controller
|
|
@@ -107,24 +99,34 @@ public class DataAugmentationController extends BaseController {
|
|
|
return -1;
|
|
|
}
|
|
|
|
|
|
- public static List<ImageUrlPair> generateFilePairs(Path inputPath, Path outputPath) throws IOException {
|
|
|
- String localPath = TaaisConfig.getProfile();
|
|
|
- Path localPathPath = Paths.get(localPath);
|
|
|
+public static List<ImageUrlPair> generateFilePairs(Path inputPath, Path outputPath) throws IOException {
|
|
|
+ String localPath = TaaisConfig.getProfile();
|
|
|
+ Path localPathPath = Paths.get(localPath);
|
|
|
|
|
|
+ // 使用Apache Commons IO的自然排序比较器
|
|
|
+ Comparator<Path> naturalOrderComparator = Comparator.comparing(
|
|
|
+ path -> path.getFileName().toString(),
|
|
|
+ new NaturalOrderComparator()
|
|
|
+ );
|
|
|
|
|
|
- // 替换路径
|
|
|
- return Files.list(inputPath)
|
|
|
- .filter(Files::isRegularFile) // 只处理文件
|
|
|
- .sorted(Comparator.comparing(path -> path.getFileName().toString()))
|
|
|
+ return Files.list(inputPath)
|
|
|
+ .filter(Files::isRegularFile)
|
|
|
+ .sorted(naturalOrderComparator)
|
|
|
.map(path -> {
|
|
|
String fileName = path.getFileName().toString();
|
|
|
ImageUrlPair imageUrlPair = new ImageUrlPair();
|
|
|
- imageUrlPair.setInputUrl(inputPath.resolve(fileName).toString().replace(localPathPath.toString(), "/profile").replace("\\", "/"));
|
|
|
- imageUrlPair.setOutputUrl(outputPath.resolve(fileName).toString().replace(localPathPath.toString(), "/profile").replace("\\", "/"));
|
|
|
+ imageUrlPair.setInputUrl(inputPath.resolve(fileName).toString()
|
|
|
+ .replace(localPathPath.toString(), "/profile")
|
|
|
+ .replace("\\", "/")
|
|
|
+ );
|
|
|
+ imageUrlPair.setOutputUrl(outputPath.resolve(fileName).toString()
|
|
|
+ .replace(localPathPath.toString(), "/profile")
|
|
|
+ .replace("\\", "/")
|
|
|
+ );
|
|
|
return imageUrlPair;
|
|
|
})
|
|
|
.collect(Collectors.toList());
|
|
|
- }
|
|
|
+}
|
|
|
//新接口获取图片对序列,返回支持前端PreviewCompareImages组件的数据格式
|
|
|
@GetMapping("/imageCompare/{task_id}")
|
|
|
public CommonResult<List<ImageUrlPair>> getCompareImageSeq(@PathVariable("task_id") Long taskId) throws IOException {
|