1.读取录像热像仪参数的焦距值

2.新增最小像素数接口设置
main
wangchongwu 4 months ago
parent 0b49d77bfa
commit a9b6a0f955

@ -365,6 +365,8 @@ Param_SkyDetect Detectors::GetParam()
para.fSmallDetectGDK = pDST_stPara->fgdk;
para.fDimGdk = pDST_stPara->fDimGdk;
para.nDetectGrayType = pDST_stPara->nDetectGrayType;
para.nObjSizeMin = pDST_stPara->nObjSizeMin;
para.nObjSizeMax = pDST_stPara->nObjSizeMax;
// 面目标参数查询
para.bEnableDetcetAreaTarget = pDAT_Module->getDatDetState();

@ -656,6 +656,7 @@ void Arith_EOController::Arith_SetRunTimeParam(ARIDLL_PARMA config)
para.nGrayThresMinDark = config.PrmSkyDetect.nGrayThresMinDark;
para.nDetectGrayType = config.PrmSkyDetect.nDetectGrayType;
para.nDSmpScale = config.PrmSkyDetect.nDSmpScale;
para.nObjSizeMin = config.PrmSkyDetect.nObjSizeMin;
g_GLB_Detectors->SetParam(para);//设置参数
// 全局检测器参数共享给局部检测器参数
@ -762,6 +763,7 @@ ARIDLL_PARMA Arith_EOController::getStructFromFS(cv::FileStorage fs)
SAFE_CONFIG_GET(fs, "nDetectGrayType", config.PrmSkyDetect.nDetectGrayType);
SAFE_CONFIG_GET(fs, "nDSmpScale", config.PrmSkyDetect.nDSmpScale);
SAFE_CONFIG_GET(fs, "bEnLowSkylieSADet", config.PrmSkyDetect.bEnLowSkylieSADet);
SAFE_CONFIG_GET(fs, "nObjSizeMin", config.PrmSkyDetect.nObjSizeMin);
// stSkyParam.prmTSkyDet parameters
SAFE_CONFIG_GET(fs, "bEnableDetcetAreaTarget", config.stSkyParam.prmTSkyDet.bEnableDetcetAreaTarget);
@ -868,6 +870,7 @@ void Arith_EOController::Arith_ExportParaFile(const char* path)
fs << "Sky_nTrackMemFrmNum" << 1000; // 最大记忆帧数
fs << "bEnLowSkylieSADet" << true; // 允许低于天地线小面检测输出,默认允许
fs << "nSmallObjSizeMax" << 36; // 小目标最大像素数
fs << "nObjSizeMin" << 1;
fs << "nPipeRadiusSearch" << 40; // 管道搜索范围直径 -- 搜索

@ -138,7 +138,12 @@ DST_PARAMETERS* DetectSmallObj::GetDstParm()
void DetectSmallObj::setDstParm(Param_SkyDetect* param)
{
m_DST_stPara.fgdk = param->fSmallDetectGDK;
m_DST_stPara.fDimGdk = param->fDimGdk;
m_DST_stPara.nDetectGrayType = param->nDetectGrayType;
m_DST_stPara.nObjSizeMin = param->nObjSizeMin;
m_DST_stPara.nObjSizeMax = param->nObjSizeMax;
}
BBOOL DetectSmallObj::getDstDetState()

@ -105,7 +105,7 @@
#define DST_OBJ_SNR_MIN 5.0f//目标SNR下限
//目标大小
#define DST_OBJ_SIZE_MIN 3 //目标大小下限
#define DST_OBJ_SIZE_MIN 1 //目标大小下限
//背景标准差限制
#define DST_Bm_STD_LIMIT_MIN 3 //极大值滤波窗口-背景标准差下限

@ -31,6 +31,8 @@ int main()
ARIDLL_EOArithInitWithMode(pTracker,nWidth,nHeight,GD_PIXEL_FORMAT_E::GD_PIXEL_FORMAT_GRAY_Y16,
GLB_SYS_MODE::GLB_SYS_STARE,GLB_SCEN_MODE::GLB_SCEN_SKY);
ARIDLL_ReadSetParamFile(pTracker, "ArithPara.json");
// 算法输入部分
ARIDLL_INPUTPARA stInputPara = { 0 };
stInputPara.unFrmId++;

@ -34,11 +34,11 @@ void S3315GetImagePara(unsigned char* pImageDataBuffer,unsigned char* pParamData
ImagePara->stAirCraftInfo.stAtt.fPitch = calc_fov_by_mil(pParamNO65DataBuffer->B3B2, 6000) * 6000.0f / 65536.0f;
ImagePara->stAirCraftInfo.stAtt.fRoll = calc_fov_by_mil(pParamNO65DataBuffer->B5B4, 6000) * 6000.0f / 65536.0f;
ImagePara->stCameraInfo.fPixelSize = 25;
ImagePara->stCameraInfo.nFocus = 948;
ImagePara->unFreq = 50;
//unsigned short* pIR = ((unsigned short*)pImageDataBuffer);
//ImagePara->stCameraInfo.nFocus = pIR[640 + 64] * 0.1;
// pImageDataBuffer 是热像仪640*513 最后一行是热像仪参数
unsigned short* pIR = ((unsigned short*)pImageDataBuffer);
ImagePara->stCameraInfo.nFocus = pIR[640 * 512 + 64] * 0.1;

@ -259,8 +259,8 @@ bool RawFileStream::ReadFrame(BYTE* pFrameData, BYTE* pImageData, BYTE* pParamDa
* 640 * 1 0xF1180 No56
* (640 * 4 )
*/
memcpy(pParamData, pFrameData + m_lArithReslutDataSize + m_lImageDataSize + 640 * 513, m_lParamDataSize);
memcpy(pImageData, pFrameData + m_lArithReslutDataSize, m_lImageDataSize);
memcpy(pParamData, pFrameData + m_lImageDataSize + 640 * 513, m_lParamDataSize);
memcpy(pImageData, pFrameData, m_lImageDataSize);
memcpy(pResultData, pFrameData + m_lImageDataSize , m_lArithReslutDataSize);
}
unsigned short* pSrc = (unsigned short*)pImageData;

Loading…
Cancel
Save