lyhzzz 4 bulan lalu
induk
melakukan
d79a715fc8

+ 2 - 0
src/main/java/com/fdkankan/fusion/common/ai/BBoxHierarchyBuilder.java

@@ -47,6 +47,8 @@ public class BBoxHierarchyBuilder {
         JSONObject res=new JSONObject();
         JSONArray topLevel = new JSONArray();
         res.put("floorsName",floors.getFloorsName());
+        res.put("imageHeight",floors.getImageHeight());
+        res.put("imageWidth",floors.getImageWidth());
         for (ShapeWrapper parent : allShapes) {
             if (!parent.tag.getCategory().startsWith("Tag_")) continue;
 

+ 3 - 163
src/main/java/com/fdkankan/fusion/common/ai/BoxVisualizer.java

@@ -5,6 +5,7 @@ package com.fdkankan.fusion.common.ai;
  * @date 2025/4/16
  */
 
+import cn.hutool.core.io.FileUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 
@@ -67,169 +68,8 @@ public class BoxVisualizer {
     }
 
     public static void main(String[] args) throws IOException {
-        String jsonInput = "{\n" +
-                "    \"floors\": [\n" +
-                "      {\n" +
-                "        \"imageWidth\": \"683\",\n" +
-                "        \"imageHeight\": \"637\",\n" +
-                "        \"shapes\": [\n" +
-                "          {\n" +
-                "            \"bbox\": [\n" +
-                "              219.5,\n" +
-                "              221.00000000000006,\n" +
-                "              273.5,\n" +
-                "              275.00000000000006\n" +
-                "            ],\n" +
-                "            \"name\": \"三人沙发\",\n" +
-                "            \"category\": \"ThreeSofa\"\n" +
-                "          },\n" +
-                "          {\n" +
-                "            \"bbox\": [\n" +
-                "              453,\n" +
-                "              408.50000000000006,\n" +
-                "              529,\n" +
-                "              484.5\n" +
-                "            ],\n" +
-                "            \"name\": \"双人床\",\n" +
-                "            \"category\": \"DoubleBed\"\n" +
-                "          },\n" +
-                "          {\n" +
-                "            \"bbox\": [\n" +
-                "              136.50000000000003,\n" +
-                "              169.00000000000006,\n" +
-                "              185.50000000000003,\n" +
-                "              218.00000000000006\n" +
-                "            ],\n" +
-                "            \"name\": \"三人沙发\",\n" +
-                "            \"category\": \"ThreeSofa\"\n" +
-                "          },\n" +
-                "          {\n" +
-                "            \"bbox\": [\n" +
-                "              417,\n" +
-                "              203.00000000000006,\n" +
-                "              455,\n" +
-                "              241.00000000000006\n" +
-                "            ],\n" +
-                "            \"name\": \"书桌\",\n" +
-                "            \"category\": \"Desk\"\n" +
-                "          },\n" +
-                "          {\n" +
-                "            \"bbox\": [\n" +
-                "              218.5,\n" +
-                "              468.00000000000006,\n" +
-                "              287.50000000000006,\n" +
-                "              537.0000000000001\n" +
-                "            ],\n" +
-                "            \"name\": \"双人床\",\n" +
-                "            \"category\": \"DoubleBed\"\n" +
-                "          },\n" +
-                "          {\n" +
-                "            \"bbox\": [\n" +
-                "              232.5,\n" +
-                "              160.00000000000006,\n" +
-                "              272.5,\n" +
-                "              200.00000000000006\n" +
-                "            ],\n" +
-                "            \"name\": \"书桌\",\n" +
-                "            \"category\": \"Desk\"\n" +
-                "          },\n" +
-                "          {\n" +
-                "            \"bbox\": [\n" +
-                "              297,\n" +
-                "              171.00000000000006,\n" +
-                "              321,\n" +
-                "              195.00000000000006\n" +
-                "            ],\n" +
-                "            \"name\": \"椅子\",\n" +
-                "            \"category\": \"Chair\"\n" +
-                "          },\n" +
-                "          {\n" +
-                "            \"bbox\": [\n" +
-                "              418.5,\n" +
-                "              181.00000000000006,\n" +
-                "              441.5,\n" +
-                "              204.00000000000006\n" +
-                "            ],\n" +
-                "            \"name\": \"椅子\",\n" +
-                "            \"category\": \"Chair\"\n" +
-                "          },\n" +
-                "          {\n" +
-                "            \"bbox\": [\n" +
-                "              233.48909302398266,\n" +
-                "              122.51909302398272,\n" +
-                "              272.51090697601734,\n" +
-                "              161.5409069760174\n" +
-                "            ],\n" +
-                "            \"name\": \"地毯\",\n" +
-                "            \"category\": \"Carpet\"\n" +
-                "          },\n" +
-                "          {\n" +
-                "            \"bbox\": [\n" +
-                "              398,\n" +
-                "              370,\n" +
-                "              549,\n" +
-                "              503\n" +
-                "            ],\n" +
-                "            \"name\": \"卧室\",\n" +
-                "            \"category\": \"Tag_bedroom\"\n" +
-                "          },\n" +
-                "          {\n" +
-                "            \"bbox\": [\n" +
-                "              155,\n" +
-                "              423,\n" +
-                "              364,\n" +
-                "              587\n" +
-                "            ],\n" +
-                "            \"name\": \"卧室\",\n" +
-                "            \"category\": \"Tag_bedroom\"\n" +
-                "          },\n" +
-                "          {\n" +
-                "            \"bbox\": [\n" +
-                "              499,\n" +
-                "              196,\n" +
-                "              633,\n" +
-                "              309\n" +
-                "            ],\n" +
-                "            \"name\": \"厨房\",\n" +
-                "            \"category\": \"Tag_kitchenroom\"\n" +
-                "          },\n" +
-                "          {\n" +
-                "            \"bbox\": [\n" +
-                "              69,\n" +
-                "              104,\n" +
-                "              620,\n" +
-                "              279\n" +
-                "            ],\n" +
-                "            \"name\": \"客厅\",\n" +
-                "            \"category\": \"Tag_livingroom\"\n" +
-                "          },\n" +
-                "          {\n" +
-                "            \"bbox\": [\n" +
-                "              540.3126453583378,\n" +
-                "              517.0000000000001,\n" +
-                "              530.1507146416621,\n" +
-                "              553.0000000000001\n" +
-                "            ],\n" +
-                "            \"name\": \"窗户\",\n" +
-                "            \"category\": \"BayWindow\"\n" +
-                "          },\n" +
-                "          {\n" +
-                "            \"bbox\": [\n" +
-                "              81.08604535833786,\n" +
-                "              110.00000000000006,\n" +
-                "              70.92411464166213,\n" +
-                "              298.00000000000006\n" +
-                "            ],\n" +
-                "            \"name\": \"窗户\",\n" +
-                "            \"category\": \"BayWindow\"\n" +
-                "          }\n" +
-                "        ],\n" +
-                "        \"floorsName\": \"1楼\"\n" +
-                "      }\n" +
-                "    ],\n" +
-                "    \"compass\": 0\n" +
-                "  }"; // 从文件或接口获取
-        JSONObject input = JSON.parseObject(jsonInput);
+        String content = FileUtil.readUtf8String("C:\\Users\\4DAGE\\Downloads\\floorplan-ai (1).json");
+        JSONObject input = JSON.parseObject(content);
         Floors floor = input.getJSONArray("floors").getObject(0, Floors.class);
 
 // 输出路径