//-------------------------------------------------------------------------------------------------------------- //设置纹理尺寸最大限值 void D3D9TextureManager::SetMaxTextureSize( UINT nWidth, UINT nHeight ) { UINT nMaxTexWidth = (UINT)D3D9RenderSystem::mD3D9CurCaps.MaxTextureWidth; UINT nMaxTexHeight = (UINT)D3D9RenderSystem::mD3D9CurCaps.MaxTextureHeight; mMaxWidth = FK_MIN( nMaxTexWidth, nWidth ); mMaxHeight = FK_MIN( nMaxTexHeight, nHeight ); }
FkInt32S FkSilhDetector_PaintedFlies::segmentFrame(const IplImage *thisFrame) // I want to keep it void { FILE_LOG(logDEBUG1)<< "\nbegin of FkSilhDetector_PaintedFlies::segmentFrame"; if(m_isInited!=1) { FILE_LOG(logDEBUG1)<< "\nsilhDetector is not init"; return(FK_ERR_SILH_DETECT_IS_NOT_INIT); } CvPoint pt1, pt2; //this is for ROI, TODO: get this exposed pt1 = cvPoint(1,1); pt2 = cvPoint(thisFrame->width, thisFrame->height); //setting ROI the whole image cvZero(m_rawChangeMask); int i, j, minX,maxX,minY,maxY; minX = FK_MIN(pt1.x, pt2.x); maxX = FK_MAX(pt1.x, pt2.x); minY = FK_MIN(pt1.y, pt2.y); maxY = FK_MAX(pt1.y, pt2.y); #if __USE_OPENMP_FOR_SEGMENTATION #pragma omp parallel shared(i,j,maxX,maxY,minX,minY)//, thisFrame, m_bgModel, m_threshold, m_rawChangeMask) { #pragma omp for schedule(dynamic) #endif for(i= minY+1; i<maxY-1; ++i) //just look for silhouettes in ROI { for(j=minX+1; j<maxX-1; ++j) { if( pixelDistance( &UPIXEL(thisFrame, i, j, 0), &UPIXEL(m_bgModel, i, j, 0), 3 ) > -m_threshold ) { //for(int k = 0; k < m_bgModel->nChannels; ++k) //{ // //if (parentCamView->frameNum % 1000 == 0) // // UPIXEL(m_bgModel, i, j, k) = (unsigned char) (alpha * UPIXEL(thisFrame, i, j, k) + (1-alpha) * UPIXEL(m_bgModel, i, j, k)); //} } else { PIXEL(m_rawChangeMask,i, j, 0) |= 0xFF; } } } #if __USE_OPENMP_FOR_SEGMENTATION } #endif FILE_LOG(logDEBUG1)<< "\nEnd of FkSilhDetector_PaintedFlies::segmentFrame"; return (FK_OK); }