2016-08-18 71 views
0

輪郭に下のような輪郭があれば、輪郭の上端のX、Y座標を得る方法はありますか?私はPythonを使用していますが、他の言語の例も問題ありません。OpenCV - 輪郭内のオブジェクトの頂点の座標を取得する

enter image description here

+0

あなたの例では、しかし、すべてのピクセルまたはちょうど輪郭のを繰り返すん[この](http://answers.opencv.org/question/64433/converting-python-to-c/) – sturkmen

答えて

0

すべてのピクセルをチェックする必要があるので、私はあなたが画像の上は行単位を反復処理し、最初の白画素であるかを確認する必要があります怖いです。

0

黒以外のピクセルに遭遇するまで、画像を繰り返し処理することができます。

私はC++で例を書いています。

cv::Mat image; // your binary image with type CV_8UC1 (8-bit 1-channel image) 
int topRow(-1), topCol(-1); 
for(int i = 0; i < image.rows; i++) { 
    uchar* ptr = image.ptr<uchar>(i); 
    for(int j = 0; j < image.cols; j++) { 
     if(ptr[j] != 0) { 
      topRow = i; 
      topCol = j; 
      std::cout << "Top point: " << i << ", " << j << std::endl; 
      break; 
     } 
    } 
    if(topRow != -1) 
     break; 
} 
+0

を見てみましょうピクセル?画像全体のように見えますが、画像に複数の輪郭がある場合はどうなりますか? – g491