Matlab の regionprop(BW,'Area') が OpenCV で行うことを模倣する必要があります。
私はこのコードをMatlabに持っています
[L,N] = bwlabel(image1,8);
S = regionprops(L,'Area','PixelIdxList');
output=[];
for i=1:N,
output(i)=S(i).Area;
end
そしてOpenCVで
cv::findContours(cvImageMat,contours,CV_RETR_LIST,CV_CHAIN_APPROX_NONE);
int iNumSegments = contours.size();
for(int i=0;i<iNumSegments;i++)
{
cv::vector<cv::Point> approx;
cv::approxPolyDP(cv::Mat(contours[i]), approx, 1.0e-10, true);
double area = fabs( cv::contourArea( approx ) );
dvResult.push_back(area);
}
ただし、2048 x 2048 サイズの画像の場合、計算された 2 つの領域間のそれぞれの差は約 400 です。私が前進するためには、それらは同じでなければなりません。これについて誰かアドバイスはありますか?