From da14135af30221f8461bc5f9c7f77bcc4e3e8794 Mon Sep 17 00:00:00 2001 From: "XI.CHEN" <2311041011@qq.com> Date: Tue, 17 Dec 2024 19:26:44 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=B2=E5=8F=A3=E6=8B=8D=E7=85=A7=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E6=B0=B4=E5=8D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/cpp/PhoneDevice.cpp | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/app/src/main/cpp/PhoneDevice.cpp b/app/src/main/cpp/PhoneDevice.cpp index 99c828ae..4cc3c4a2 100644 --- a/app/src/main/cpp/PhoneDevice.cpp +++ b/app/src/main/cpp/PhoneDevice.cpp @@ -1770,8 +1770,10 @@ bool CPhoneDevice::TakePhoto(const IDevice::PHOTO_INFO& photoInfo, const vector< IDevice::PHOTO_INFO localPhotoInfo = mPhotoInfo; IDevice::SerialsPhotoParam param = { "", 0, 0 }; GetPhotoSerialsParamCb(param); + vector osds; + osds.swap(mOsds); - std::thread t([localPhotoInfo, param, pThis,wid_serial]() mutable + std::thread t([localPhotoInfo, param, pThis, osds, wid_serial]() mutable { if (localPhotoInfo.preset != 0 && localPhotoInfo.preset != 0xFF) { @@ -1785,7 +1787,27 @@ bool CPhoneDevice::TakePhoto(const IDevice::PHOTO_INFO& photoInfo, const vector< } CameraPhotoCmd(ts, localPhotoInfo.channel, 0, localPhotoInfo.resolution, 0, param.serfile, param.baud, param.addr); XYLOG(XYLOG_SEVERITY_INFO, "Taking photo over"); - pThis->TakePTZPhotoCb(3, localPhotoInfo); + + IMAGE_DEF photo = { 0 }; + std::vector objects; + GetImage(0, &photo); + if(photo.state == 5){ + XYLOG(XYLOG_SEVERITY_INFO,"Get Serials Photo, PhotoID = %s", photo.photoname); + + cv::Mat img = cv::imread(photo.photoname, cv::IMREAD_COLOR); + if (!img.empty()) + { + int result = std::remove(photo.photoname); + pThis->TakePhotoCb(1, localPhotoInfo, "", photo.phototime - 28800, objects); + pThis->PostProcessPhoto(localPhotoInfo, osds, photo.photoname, "", img); + } + + }else + { + XYLOG(XYLOG_SEVERITY_WARNING,"Get Serials Photo Failed"); + pThis->TakePhotoCb(0, localPhotoInfo, photo.photoname, photo.phototime - 28800, objects); + } +// pThis->TakePTZPhotoCb(3, localPhotoInfo); pThis->ClosePTZSensors(localPhotoInfo.closeDelayTime); GpioControl::setCam3V3Enable(false, localPhotoInfo.closeDelayTime); pThis->ReleaseWakelock(wid_serial);