|
@@ -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);
|
|
|
|
|
|
// 输出路径
|