私は小さなチェス盤を持っていて、白い四角に幾何学的なオブジェクトを配置しました。今、cv::findContours() を使用して画像からそれらを抽出しようとしています。ここに私のコードとソースと結果の画像があります:
int main (){
cv::Mat img = cv::imread("quad.jpg",0);
cv::Mat image ;
cv::Mat result(img.size(),CV_8U,cv::Scalar(255));
std::vector<std::vector<cv::Point>> contours;
//std::vector<std::vector<cv::Point2f>> hiararchy;
cv::threshold(img,img,127,255,CV_THRESH_BINARY_INV);
cv::findContours(img,contours,/*hiararchy,*/CV_RETR_TREE , CV_CHAIN_APPROX_NONE );
-1, // draw all contours
cv::Scalar(0), // in black
2); // with a thickness of 2
cv::imshow("result",result);
//cv::imwrite("con.jpg",result);
cv::waitKey(0);
return 0;
ソース
結果
プログラムにどのように伝えるかについてのアイデア:白い四角だけに注意してください
ありがとう!