opencv を使用して角の丸い長方形を検出しているときに問題を解決する必要があります。基本的に、同じコード サンプル squares.c を使用しています。
cvFindContours( gray, storage, &contours, sizeof(CvContour), CV_RETR_LIST, CV_CHAIN_APPROX_SIMPLE );
while( contours )
{
double area=fabs(cvContourArea(contours, CV_WHOLE_SEQ));
if(area < minimum_area || area > maximum_area) {
contours = contours->h_next;
continue;
}
result = cvApproxPoly( contours, sizeof(CvContour), storage,
CV_POLY_APPROX_DP, cvContourPerimeter(contours)*0.05, 0 );
if( result->total == 4 &&
fabs(cvContourArea(result,CV_WHOLE_SEQ)) > 1000 &&
cvCheckContourConvexity(result) )
{
このコードを使用すると、通常は画像を検出できますが、画像の遠近感を調整する必要があり、そのために画像の角を検出する必要があります。これを行う方法と画像の角が丸くなっていますか? 問題は、ポイント間でポイントを検出する必要がないために発生します。例として、次の画像を作成しました。黒い線は既存のコードによって検出されたポイントを表し、青い点は必要なものですか?
助けてくれてありがとう。