我們有收到
尺寸爲8x8像素的圖像時,一些2D數據分析器(roiSize = 8),這是由像發送到我們的解析器:C++如何創建簡單的二維區域松雞算法?
void UseOurParser(IplImage* destination)
{
int w = destination->width;
int h = destination->height;
original = cvCreateImage(cvSize(w, h),IPL_DEPTH_8U,1);
cvCvtColor(destination,original,CV_RGB2GRAY);
cout << endl << "Progress:";
for(int j = 1; j < original->width/roiSize-1; j=j++) {
cout << "." ;
for(int i = 1; i < original->height/roiSize-1; i=i++) {
cvSetImageROI(original, cvRect(j*roiSize, i*roiSize,roiSize, roiSize));
IplImage *cropSource = cvCreateImage(cvGetSize(original), original->depth, original->nChannels);
cvCopy(original, cropSource, NULL);
ProcessOurParser(cropSource, j, i);
cvResetImageROI(original);
}
} //...
我們的解析器需要的圖像J,I和裏面可以判斷在圖像上找到了一個對象。如果發現它執行確定某些特徵值(某些浮點數)的另一個操作。我想以某種方式創建我的數據的二維表示(大小像(原始 - >寬度/ roiSize-2)X(原始 - >高度/ roiSize-2))所以對每個ROI我會有一個值聲明如果功能是否被發現,如果它是它的特徵值。我需要的是能夠遍歷生成的數據。並實施某種類型的區域松雞算法,以便如果特徵在一個roi上==爲了表徵另一個是8個圍繞它的其中一個,我們以某種方式增長區域並再次檢查,以便我們找到區域...
所以如果我們正在尋找線條,而我們的特徵是線條存在和角度浮動(就像我做的那樣)bool,我們會做類似
1)(我們站在藍色1和2黃色1s是我們感興趣的點)
我們主張我們的「線」,即2個地區,並繼續搜索
我們發現一個ROI帽子特徵涉及到我們的產品線,另一種是沒有,所以我們將返回到ROI後來
所以是有升壓任何幫助的如何做這樣的事情或任何代碼可以幫助您提供?