Przeglądaj źródła

feat: 图像拼接

28968 8 miesięcy temu
rodzic
commit
0491eeba29

+ 4 - 0
src/api/modules/demo/dataAugmentation.ts

@@ -85,3 +85,7 @@ export const getCompareImageApi = (taskId: String, idx: String | Number) => {
 export const getCompareImageCountApi = (taskId: String | Number) => {
   return http.get('/demo/dataAugmentation/compare/num/' + taskId)
 }
+
+export const getDialogApi = (id: String | Number) => {
+  return http.get('/demo/dataAugmentation/log/' + id)
+}

+ 27 - 18
src/views/demo/dataAugmentation/index.vue

@@ -37,9 +37,7 @@
         <el-button type="primary" link icon="View" v-auth="['demo:DataAugmentation:query']" @click="openDialog(3, '任务查看', scope.row)">
           查看
         </el-button>
-        <!-- <el-button type="primary" link icon="EditPen" v-auth="['demo:DataAugmentation:edit']" @click="openDialog(2, '视频去抖动编辑', scope.row)">
-            编辑
-          </el-button> -->
+        <el-button type="primary" link icon="View" v-auth="['demo:DataAugmentation:query']" @click="openLogDialog(scope.row.id)"> 日志 </el-button>
         <el-button type="primary" link icon="Delete" v-auth="['demo:DataAugmentation:remove']" @click="deleteDataAugmentation(scope.row)">
           删除
         </el-button>
@@ -48,26 +46,23 @@
     <FormDialog ref="formDialogRef" />
     <ImportExcel ref="dialogRef" />
     <el-dialog v-model="dialogVisible" :title="dialogTitle" width="80%">
-      <div class="image-dialog" v-if="imageIdx >= 0">
-        <el-image
-          v-for="(image, index) in cacheImages[imageIdx].origin"
-          :key="index"
-          :src="'data:image/png;base64,' + image"
-          style="width: 45%"
-        ></el-image>
-        <el-tag>结果:</el-tag>
-        <el-image
-          v-for="(image, index) in cacheImages[imageIdx].stable"
-          :key="index"
-          :src="'data:image/png;base64,' + image"
-          style="width: 45%"
-        ></el-image>
+      <div class="image-dialog" v-if="imageIdx >= 0 && cacheImages[imageIdx]">
+        <div style="width: 50%">
+          <el-image v-for="(image, index) in cacheImages[imageIdx].origin" :key="index" :src="'data:image/png;base64,' + image"></el-image>
+          <!-- <el-tag>结果:</el-tag> -->
+        </div>
+        <div style="width: 50%">
+          <el-image v-for="(image, index) in cacheImages[imageIdx].stable" :key="index" :src="'data:image/png;base64,' + image"></el-image>
+        </div>
       </div>
       <div class="image-dialog-btn" v-if="imageFps == 0">
         <el-button type="primary" @click="pre_picture" :disabled="imageIdx <= 0">上一个</el-button>
         <el-button type="primary" @click="next_picture" :disabled="imageIdx >= fileCount - 1">下一个</el-button>
       </div>
     </el-dialog>
+    <el-dialog v-model="logDialogVisible" title="日志" width="80%">
+      <el-text class="mx-1">{{ logDialog }}</el-text>
+    </el-dialog>
   </div>
 </template>
 
@@ -92,9 +87,11 @@ import {
   startDataAugmentationApi,
   stopDataAugmentationApi,
   getCompareImageApi,
-  getCompareImageCountApi
+  getCompareImageCountApi,
+  getDialogApi
 } from '@/api/modules/demo/dataAugmentation'
 import { listDataApi } from '@/api/modules/system/dictData'
+import { S } from 'vite/dist/node/types.d-aGj9QkWt'
 const dialogVisible = ref(false)
 const taskId = ref('')
 const imageIdx = ref(0)
@@ -115,6 +112,13 @@ const taskTypeEnums: EnumProps[] = []
 
 const hyperparameterConfiguration = []
 const hyperparameter = ref('')
+const logDialogVisible = ref(false)
+const logDialog = ref('')
+const openLogDialog = async (id: string | number) => {
+  const res: any = await getDialogApi(id)
+  logDialog.value = res.data
+  logDialogVisible.value = true
+}
 const getTaskType = async () => {
   const res: any = await listDataApi({
     dictName: '',
@@ -214,6 +218,8 @@ const compareDataAugmentation = async (params: any) => {
       continue
     }
     const res: any = await getCompareImageApi(taskId.value, idx - 1)
+    // console.log(res)
+
     cacheImages.value[idx - 1] = {
       origin: res.origin,
       stable: res.stable
@@ -284,7 +290,9 @@ const openDialog = async (type: number, title: string, row?: any) => {
   let res = { data: {} }
   if (row?.id) {
     res = await getDataAugmentationApi(row?.id || null)
+    hyperparameter.value = res.data?.hyperparameterConfiguration
   }
+
   // 重置表单
   setItemsOptions()
   const params = {
@@ -508,6 +516,7 @@ const setItemsOptions = () => {
 <style lang="scss" scoped>
 .image-dialog {
   display: flex;
+  align-items: center;
   justify-content: center;
   .el-image {
     margin-right: 20px;