darknet预测分类动态库,数据存储对接

更多文章参考:自己动手实现darknet预测分类动态库

数据截取:

CMemoryBase *memory = g_pScanManager->GetCurrentScan()->GetOCTMemory();
 int rWidth = 1024;
 int width = 860;
 int height = 1000;

 BYTE** ppImage = (BYTE**)malloc(sizeof(BYTE*) * 100);
 for (int i = 0; i < 100; i++)
 {
  ppImage[i] = (BYTE*) malloc(width * height);
 }

 for (int i = 0; i < 100; i++)
 {
  for (int h = 0; h < height; h++)
  {
   for(int w = 0; w < width; w++)
   {
    ppImage[i][h * width + w] = memory->GetScanData(i)->OCTData[h * rWidth + w];
   }
  }

 int m_height=860;
 int m_wid = 1000;
 int c=3;
 for (int i = 0; i < m_height; ++i)
 {
	for (int j = 0; j < m_wid; ++j)
	 {
		int iPos = j * c;
		int k = i * m_wid * c + iPos;
		if (c == 3)
		{
		
			mImgData[h][k] = (unsigned char)ppImage[j * m_height + m_height - i - 1];
		 	mImgData[h][k + 1] = (unsigned char)ppImage[j * m_height + m_height - i - 1];
		 	mImgData[h][k + 2] = (unsigned char)ppImage[j * m_height + m_height - i - 1];
		} 
		 	
	}
 }
}

采集存储到共享内存:

//OCT实际图像宽度
int nRealWidth = 1024;
int nWidth = 860;
int nHeight =500;
PBYTE buff = m_fnGetOctBufferNextPointer(nHeight, nWidth, 1);  
for (int j = 0; j < nHeight; j++)		
{
	for (int i = 0; i < nWidth; i++)			
	{    		    	
	   buff[j*nWidth + i] = pOCTData[j * nRealWidth + i];
	}
}	

分析:共享内存到mtsd文件

 

发布了373 篇原创文章 · 获赞 151 · 访问量 33万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章