6
私は紙の上にある4つの黒い正方形を検出し、それを使って自分のイメージで紙を分離する最良の方法を見つけようとしています。OpenCVを使用して紙に登録マーカーを検出するにはどうすればよいですか?
私は紙の上にある4つの黒い正方形を検出し、それを使って自分のイメージで紙を分離する最良の方法を見つけようとしています。OpenCVを使用して紙に登録マーカーを検出するにはどうすればよいですか?
あなたのイメージにのみ4黒い四角があるので、あなたがしなければならないものをされているようだ:グレー
B)だったことも大きい
た:
チェックを行います[0.9、1.1]範囲)
コード:
Mat img = imread("test.jpg"), gray;
vector<Vec4i> hierarchy;
vector<vector<Point2i> > contours;
cvtColor(img, gray, CV_BGR2GRAY);
threshold(gray, gray, 100, 255, THRESH_BINARY);
bitwise_not(gray, gray);
findContours(gray, contours, hierarchy, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_SIMPLE);
for(size_t i=0; i<contours.size(); i++)
{
Rect rect = boundingRect(contours[i]);
double k = (rect.height+0.0)/rect.width;
if (0.9<k && k<1.1 && rect.area()>100)
{
drawContours(img, contours, i, Scalar(0,0,255));
}
}
imshow("result", img);
waitKey();
結果:
もthis SO discussionを読んで - あなたは4枚の正方形の紙を検出することを必要はありません。
ようこそStackOverflow。あなたのために働いていないこれまでに何を試みましたか?それが役立つかどうか見るために[この質問](http://stackoverflow.com/q/11424002/62576)を見ましたか?画像を投稿する以外にも、これを自分で解決する努力をしてください。誰かが助けてくれるかもしれません。 –