diff --git a/InteractiveControl/Content/UI/Page6_1.uasset b/InteractiveControl/Content/UI/Page6_1.uasset index 9719535..0010e31 100644 --- a/InteractiveControl/Content/UI/Page6_1.uasset +++ b/InteractiveControl/Content/UI/Page6_1.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6fec6d146f7cb3bfb4cf9e35e97ec71a447dec16c853f3ed8285064a5f2a995c -size 157455 +oid sha256:560dba3ccc2067f708a80d7ba110b7daf9bd8f460902cc5958d80dd65b878912 +size 157152 diff --git a/SpaceStudioClient/Content/Blueprints/BP_MediaPlayerController.uasset b/SpaceStudioClient/Content/Blueprints/BP_MediaPlayerController.uasset index 501d8ac..461a796 100644 --- a/SpaceStudioClient/Content/Blueprints/BP_MediaPlayerController.uasset +++ b/SpaceStudioClient/Content/Blueprints/BP_MediaPlayerController.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0005344a1e76560416118840e0433feb1396f1454cb37f6c4f077b88707bd324 -size 509146 +oid sha256:88a1c609aa039f2f89ff41efcad8d5001ca184951d033a86174909e071e6781e +size 507803 diff --git a/SpaceStudioClient/Content/Blueprints/BP_UDPMessageProcessor.uasset b/SpaceStudioClient/Content/Blueprints/BP_UDPMessageProcessor.uasset index 6f5730f..7828b8e 100644 --- a/SpaceStudioClient/Content/Blueprints/BP_UDPMessageProcessor.uasset +++ b/SpaceStudioClient/Content/Blueprints/BP_UDPMessageProcessor.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:edb8ce62e8b18ec6792776c30d84a613b309503775e54ec0b0e174ebf2870672 -size 667994 +oid sha256:500b235dcb77e04cf955cc5c3ffb582ee89a7ed7119b22db6dceb55193567e17 +size 669633 diff --git a/SpaceStudioClient/Content/Blueprints/BP_Windows.uasset b/SpaceStudioClient/Content/Blueprints/BP_Windows.uasset index 1f44e06..02757c1 100644 --- a/SpaceStudioClient/Content/Blueprints/BP_Windows.uasset +++ b/SpaceStudioClient/Content/Blueprints/BP_Windows.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d38e8406d5350ae8b2ca8b2f3bc38ba23b4fb62113362d724e515e666d0fdba9 -size 204256 +oid sha256:90865d78d4161fde28ac48f40cd6aa008e931dd36619fe917799dd55a778a03d +size 209832 diff --git a/SpaceStudioClient/Content/Blueprints/ND_PC.uasset b/SpaceStudioClient/Content/Blueprints/ND_PC.uasset index 4a772e0..96b7aaf 100644 --- a/SpaceStudioClient/Content/Blueprints/ND_PC.uasset +++ b/SpaceStudioClient/Content/Blueprints/ND_PC.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b871a76d4d996a5d5e45ac7226b82232ac15b399a222c00bf9d387732dd258b0 -size 688059 +oid sha256:d2dc8a43ee70fe0f586e357e29d772f29a7a9719ddc46099a7b00de936c5d0a4 +size 780909 diff --git a/SpaceStudioClient/Content/Blueprints/UI/M_KinentBodys.uasset b/SpaceStudioClient/Content/Blueprints/UI/M_KinentBodys.uasset index bd06038..4340c74 100644 --- a/SpaceStudioClient/Content/Blueprints/UI/M_KinentBodys.uasset +++ b/SpaceStudioClient/Content/Blueprints/UI/M_KinentBodys.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f8909626f21b120afe8868fb147dcd463af600916bfe016d8ea21634a4b789f4 -size 11410 +oid sha256:67731f1a265042557fc3ca8e0b65cafeaf9331820a8d04fc1f5b52b94e6d124a +size 16175 diff --git a/SpaceStudioClient/Content/Blueprints/UI/WB_Wall_A.uasset b/SpaceStudioClient/Content/Blueprints/UI/WB_Wall_A.uasset index 2299dd5..17f98b2 100644 --- a/SpaceStudioClient/Content/Blueprints/UI/WB_Wall_A.uasset +++ b/SpaceStudioClient/Content/Blueprints/UI/WB_Wall_A.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:24921af77cda7832a9364e04139461e0c955bfcb24274a8e058701e57ccd6b28 -size 380881 +oid sha256:5a6f1dbb88d496ef9fa78a5dfdafea60731f0212fa19d7c61ff02e0bdb7ffddd +size 456690 diff --git a/SpaceStudioClient/Content/Blueprints/UI/WB_Wall_C.uasset b/SpaceStudioClient/Content/Blueprints/UI/WB_Wall_C.uasset index 4bcb2fa..52759ef 100644 --- a/SpaceStudioClient/Content/Blueprints/UI/WB_Wall_C.uasset +++ b/SpaceStudioClient/Content/Blueprints/UI/WB_Wall_C.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:38135c04c35438257136bb066ee4e49f3c3acb73ce8ecf2c8ca8948966640914 -size 192196 +oid sha256:27b40c083c884512890f4d61424a6288775daeb63b699f5024dc548633e89a0f +size 192151 diff --git a/SpaceStudioClient/Content/Main.umap b/SpaceStudioClient/Content/Main.umap index 9276760..b004a6f 100644 --- a/SpaceStudioClient/Content/Main.umap +++ b/SpaceStudioClient/Content/Main.umap @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3fd5f16c34451e3470fff5ea9f6c157f44f2cfa48459bb6f1cf7c5bbdf5376bf -size 69972 +oid sha256:d0c65e38edce0ed867f5fdc7e7875f1c417f679ae1b0b1b2e558c5bdfa68ddd3 +size 70143 diff --git a/SpaceStudioClient/Content/Texture/caizhi_1.uasset b/SpaceStudioClient/Content/Texture/caizhi_1.uasset new file mode 100644 index 0000000..def8033 --- /dev/null +++ b/SpaceStudioClient/Content/Texture/caizhi_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab950a82b726ddaf625b2e841dc23503d27bd1d1db955beea21b79a1029f8beb +size 22131 diff --git a/SpaceStudioClient/Content/Texture/caizhi_2.uasset b/SpaceStudioClient/Content/Texture/caizhi_2.uasset new file mode 100644 index 0000000..61f9efc --- /dev/null +++ b/SpaceStudioClient/Content/Texture/caizhi_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d1f27622a182564bf5d81f1b1c507ed3039952a5fa6ee9465f63031a3909fa47 +size 47528 diff --git a/SpaceStudioClient/Content/Texture/diban1.uasset b/SpaceStudioClient/Content/Texture/diban1.uasset new file mode 100644 index 0000000..2a55b04 --- /dev/null +++ b/SpaceStudioClient/Content/Texture/diban1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ccace1c3c5b88db0c5ffefdbf2c98bb5426e14f33adb7076e105d4a382cabe51 +size 55480 diff --git a/SpaceStudioClient/Content/Texture/diban2.uasset b/SpaceStudioClient/Content/Texture/diban2.uasset new file mode 100644 index 0000000..e955ec2 --- /dev/null +++ b/SpaceStudioClient/Content/Texture/diban2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71aa916c8960a8c8567ef95efd511cd2ef69d79109f95e4ca31f34ec5f7335c5 +size 60929 diff --git a/SpaceStudioClient/Content/Texture/diban3.uasset b/SpaceStudioClient/Content/Texture/diban3.uasset new file mode 100644 index 0000000..0d01f60 --- /dev/null +++ b/SpaceStudioClient/Content/Texture/diban3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:346b56d9ae58c978b1599c9929b617b2997150fc1120490068fc52049d327a55 +size 207047 diff --git a/SpaceStudioClient/Content/Texture/diban4.uasset b/SpaceStudioClient/Content/Texture/diban4.uasset new file mode 100644 index 0000000..54e3f3f --- /dev/null +++ b/SpaceStudioClient/Content/Texture/diban4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:467cbafa3ac3d15f570e0be27c71fec50348d637c8856e6bedf423550b3fe88b +size 136425 diff --git a/SpaceStudioClient/Content/Texture/qiangmian1.uasset b/SpaceStudioClient/Content/Texture/qiangmian1.uasset new file mode 100644 index 0000000..f385952 --- /dev/null +++ b/SpaceStudioClient/Content/Texture/qiangmian1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3a78722a2ab2e36f1d2a8785f0e6550e7da4c7f94af616070116666e4818aa0 +size 143362 diff --git a/SpaceStudioClient/Content/Texture/qiangmian2.uasset b/SpaceStudioClient/Content/Texture/qiangmian2.uasset new file mode 100644 index 0000000..9e71300 --- /dev/null +++ b/SpaceStudioClient/Content/Texture/qiangmian2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f14f50e610e623ec652154d32da49fc748e920e61982f1a7ee7ddfe2e65cdddb +size 192609 diff --git a/SpaceStudioClient/Content/Texture/qiangmian3.uasset b/SpaceStudioClient/Content/Texture/qiangmian3.uasset new file mode 100644 index 0000000..4e91917 --- /dev/null +++ b/SpaceStudioClient/Content/Texture/qiangmian3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b64e33245d8766e517b378abe83ed582596b59e9543e4b25fec3ab6d3ec37140 +size 156065 diff --git a/SpaceStudioClient/Content/Texture/qiangmian4.uasset b/SpaceStudioClient/Content/Texture/qiangmian4.uasset new file mode 100644 index 0000000..e9474d1 --- /dev/null +++ b/SpaceStudioClient/Content/Texture/qiangmian4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d344420c85b8ab51f7107923518d48b10163964ddbfa1fe7863b8c0dfaf2f30b +size 79631 diff --git a/SpaceStudioClient/Content/Texture/ren1.uasset b/SpaceStudioClient/Content/Texture/ren1.uasset index 60d5311..d58914e 100644 --- a/SpaceStudioClient/Content/Texture/ren1.uasset +++ b/SpaceStudioClient/Content/Texture/ren1.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2bdf0cf06b14e7d218f1a785b5d6ee6f74ef15ce9af3f867389245f781ef1892 -size 93736 +oid sha256:fb3abba9e7b49edef160e64952ec942e18ea88f15e5381f94140032a0ca2628c +size 94545 diff --git a/SpaceStudioClient/Content/Texture/ren2.uasset b/SpaceStudioClient/Content/Texture/ren2.uasset index e02c8f7..17417a9 100644 --- a/SpaceStudioClient/Content/Texture/ren2.uasset +++ b/SpaceStudioClient/Content/Texture/ren2.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:39db2e20765ffbca1f3e099c4ab50b38d88b37f1a45140f1b0ea09397a64ed80 -size 116448 +oid sha256:cb88336d099000614e50740cdaf72913a1b7c68c538790a60183ab7613b653e2 +size 114439 diff --git a/SpaceStudioClient/Content/Texture/ren3.uasset b/SpaceStudioClient/Content/Texture/ren3.uasset index b47a2d3..c353e47 100644 --- a/SpaceStudioClient/Content/Texture/ren3.uasset +++ b/SpaceStudioClient/Content/Texture/ren3.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3ab902b15d59791fb25458c95e6835aa3d7466039a962cf9d50b9359742b6e33 -size 84804 +oid sha256:31df226a4e9d8c726ce57f2bdd4317f27faae57a0fe97149a0b2fe27a5e3fbdf +size 92541 diff --git a/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Private/NeoKinectManager.cpp b/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Private/NeoKinectManager.cpp index 7644a58..ff425b3 100644 --- a/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Private/NeoKinectManager.cpp +++ b/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Private/NeoKinectManager.cpp @@ -1124,6 +1124,134 @@ UTextureRenderTarget2D* UNeoKinectManager::CreateTexture(int32 Width, int32 Heig return Texture; } +long long lastTime = 0; +long long currentTime = 0; +long long GetCurrentTimeInMilliseconds() +{ + // 使用std::chrono获取当前时间点 + auto now = std::chrono::high_resolution_clock::now(); + + // 将时间点转换为时间戳(自纪元以来的持续时间) + auto duration = now.time_since_epoch(); + + // 将持续时间转换为毫秒 + auto milliseconds = std::chrono::duration_cast(duration).count(); + + return milliseconds; +} + +cv::RNG rng(12345); // 固定种子 +cv::Scalar color(rng.uniform(0, 255), rng.uniform(0, 255), rng.uniform(0, 255)); +void changeColor(cv::Mat& src) +{ + for (int i = 0; i < src.rows; i++) { + for (int j = 0; j < src.cols; j++) { + cv::Vec4b& pixel = src.at(i, j); + //if (pixel[0] <= 50 || pixel[1] <= 50 || pixel[2] <= 50) + { + pixel[0] = color[0]; // B通道 + pixel[1] = color[1]; // G通道 + pixel[2] = color[2]; // R通道 + // A通道保持不变 + } + //else + //{ + // pixel[0] = 0; // B通道 + // pixel[1] = 0; // G通道 + // pixel[2] = 0; // R通道 + //} + } + } + +} +void changeColor2(cv::Mat& src) +{ + for (int i = 0; i < src.rows; i++) + { + for (int j = 0; j < src.cols; j++) + { + cv::Vec4b& pixel = src.at(i, j); + if (pixel[0] > 0 || pixel[1] > 0 || pixel[2] > 0) + { // 检查R通道(OpenCV中BGR顺序) + pixel[0] = color[0]; // B通道 + pixel[1] = color[1]; // G通道 + pixel[2] = color[2]; // R通道 + // A通道保持不变 + } + else + { + pixel[0] = 0; // B通道 + pixel[1] = 0; // G通道 + pixel[2] = 0; // R通道 + } + } + } + +} +void combine(cv::Mat& src, cv::Mat& dst) +{ + for (int i = 0; i < src.rows; i++) + { + for (int j = 0; j < src.cols; j++) + { + const cv::Vec4b& pixel = src.at(i, j); + if (pixel[0] > 0 || pixel[1] > 0 || pixel[2] > 0) + { // 检查R通道(OpenCV中BGR顺序) + cv::Vec4b& detPixel = dst.at(i, j); + detPixel = pixel; + } + } + } + +} + +void merge(cv::Mat& src1, cv::Mat& src2, cv::Mat& dst) +{ + for (int i = 0; i < src1.rows; i++) + { + for (int j = 0; j < src1.cols; j++) + { + const cv::Vec4b& pixel1 = src1.at(i, j); + const cv::Vec4b& pixel2 = src2.at(i, j); + if (pixel1[0] > 0 || pixel1[1] > 0 || pixel1[2] > 0) + { + cv::Vec4b& detPixel = dst.at(i, j); + detPixel = pixel1; + } + if (pixel2[0] > 0 || pixel2[1] > 0 || pixel2[2] > 0) + { + cv::Vec4b& detPixel = dst.at(i, j); + detPixel = pixel2; + } + } + } + +} + +void scalar(cv::Mat& src, cv::Mat& dst) +{ + cv::Rect roi(16, 9, src.cols - 16, src.rows - 9); + cv::Mat roiMat = src(roi); + cv::resize(roiMat, dst, src.size(), 0, 0, cv::INTER_CUBIC); +} + + +void applyMosaic(cv::Mat& image, int blockSize = 10) { + for (int y = 0; y < image.rows; y += blockSize) { + for (int x = 0; x < image.cols; x += blockSize) { + cv::Rect block(x, y, cv::min(blockSize, image.cols - x), + cv::min(blockSize, image.rows - y)); + cv::Scalar _color = cv::mean(image(block)); + cv::rectangle(image, block, _color, cv::FILLED); + } + } +} + +cv::Mat rawImg = cv::Mat::zeros(cv::Size(1920, 1080), CV_8UC1); +cv::Mat result = cv::Mat::zeros(cv::Size(960, 540), CV_8UC1); +cv::Mat dst1 = cv::Mat::zeros(cv::Size(960, 540), CV_8UC1); +cv::Mat dst2 = cv::Mat::zeros(cv::Size(960, 540), CV_8UC1); +cv::Mat showMat = cv::Mat::zeros(cv::Size(960, 540), CV_8UC1); void UNeoKinectManager::UpdateFrames() { // if the game thread issued a shutdown, the textures may become invalid at any time @@ -1142,24 +1270,23 @@ void UNeoKinectManager::UpdateFrames() { ThreadBuffer.Lock(); { - if (FrameData.KFrameType == KinectFrameType::BodyIndex) - { - cv::Mat binaryImage(FrameData.Height, FrameData.Width, CV_8UC4); - memcpy(binaryImage.data, Buffer, FrameData.Height * FrameData.Width * FrameData.PixelSize); - cv::Mat processedImage; - cv::resize(binaryImage, processedImage, cv::Size(FrameData.Width / 2, FrameData.Height / 2), 0, 0, cv::INTER_CUBIC); + if (i == static_cast(EKinectFrame::BodyIndex_ColorSpace)) + { + memcpy(rawImg.data, Buffer, FrameData.Height * FrameData.Width * FrameData.PixelSize); + cv::resize(rawImg, dst1, cv::Size(FrameData.Width / 2, FrameData.Height / 2), 0, 0, cv::INTER_CUBIC); cv::Mat kernel = cv::getStructuringElement(cv::MORPH_ELLIPSE, cv::Size(5, 5)); - cv::morphologyEx(processedImage, processedImage, cv::MORPH_OPEN, kernel); // 去噪 - cv::morphologyEx(processedImage, processedImage, cv::MORPH_CLOSE, kernel); // 填充 - cv::GaussianBlur(processedImage, processedImage, cv::Size(5, 5), 1.0); - cv::resize(processedImage, processedImage, cv::Size(FrameData.Width, FrameData.Height), 0, 0, cv::INTER_CUBIC); + cv::morphologyEx(dst1, dst1, cv::MORPH_OPEN, kernel); // 去噪 + cv::morphologyEx(dst1, dst1, cv::MORPH_CLOSE, kernel); // 填充 + cv::GaussianBlur(dst1, dst1, cv::Size(5, 5), 1.0); + //applyMosaic(rawImg, 32); + cv::resize(dst1, rawImg, cv::Size(FrameData.Width, FrameData.Height), 0, 0, cv::INTER_CUBIC); RHIUpdateTexture2D( FrameData.Texture->GetRenderTargetResource()->GetRenderTargetTexture(), 0, FUpdateTextureRegion2D(0, 0, 0, 0, FrameData.Width, FrameData.Height), FrameData.Width * FrameData.PixelSize, - processedImage.data + rawImg.data ); } else