1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- #pragma once
- #include "BSEImgClr.h"
- #include "OTSImgProcPrmClr.h"
- #include "OTSImageProcess.h"
- #include <OTSFieldDataClr.h>
- #include "../OTSLog/COTSUtilityDllFunExport.h"
- namespace OTSCLRINTERFACE
- {
- using namespace OTSCLRINTERFACE;
- public ref class ImageProForClr
- {
- public:
- bool GetFieldDataFromImage(CBSEImgClr^ bseImg, COTSImgProcPrmClr^ perameter, COTSFieldDataClr^ fieldData)
- {
-
- bool ret = COTSImageProcess::RemoveBGByCVconnectivities(bseImg->GetBSEImgPtr(), perameter->GetImgPrcPrmPtr(), fieldData->GetOTSFieldDataPtr());
- return ret;
- }
- bool GetParticlesBySpecialPartGrayRange(CBSEImgClr^ bseImg, CIntRangeClr^ perameter, COTSFieldDataClr^ fieldData)
- {
- bool ret = COTSImageProcess::GetParticlesBySpecialGrayRange(bseImg->GetBSEImgPtr(), perameter->GetCIntRangePtr(), fieldData->GetOTSFieldDataPtr());
- return ret;
- }
- bool CalcuParticleImagePropertes(COTSParticleClr^ particle, double a_PixelSize)
- {
- bool ret = COTSImageProcess::CalcuParticleImagePropertes(particle->GetOTSParticlePtr(), a_PixelSize);
- return ret;
- }
-
- BOOL MergeBigBoundaryParticles(System::Collections::Generic::List<COTSFieldDataClr^>^ allFields, double pixelSize, int scanFieldSize, Size ResolutionSize, System::Collections::Generic::List<COTSParticleClr^>^ mergedParts)
- {
- std::vector<COTSFieldDataPtr> allFlds;
- COTSParticleList mergedParticles;
- for each (auto f in allFields)
- {
- allFlds.push_back(f->GetOTSFieldDataPtr());
- }
- CSize CResolutionSize;
- CResolutionSize.cx = ResolutionSize.Width;
- CResolutionSize.cy = ResolutionSize.Height;
- bool ret = COTSImageProcess::MergeBigBoundaryParticles(allFlds, pixelSize, scanFieldSize, CResolutionSize, mergedParticles);
- for each (auto p in mergedParticles)
- {
- mergedParts->Add(gcnew COTSParticleClr(p));
- }
- return ret;
- }
- void RemoveBackGround(CBSEImgClr^ a_pImgIn, COTSImgProcPrmClr^ a_pImageProcessParam, CBSEImgClr^ a_pImgOut, long% foundedPixelNum)
- {
- // the background pixel will be 0,and the other part will be 255.
- long num = 0;
- COTSImageProcess::RemoveBackGround(a_pImgIn->GetBSEImgPtr(), a_pImageProcessParam->GetImgPrcPrmPtr(), a_pImgOut->GetBSEImgPtr(), num);
- foundedPixelNum = num;
- return ;
- }
- };
- }
|