से मैट बनाएं मैं कंप्यूटर दृष्टि और ओपनसीवी लाइब्रेरी के लिए बेहद नया हूं।वेक्टर <point2f>
मैंने प्वाइंट 2fs के वेक्टर से नई छवि बनाने के तरीके को खोजने के लिए चारों ओर कुछ गुगल किया है और काम करने वाले किसी भी उदाहरण को नहीं मिला है। मैंने vector<Point>
to Mat
देखा है लेकिन जब मैं उन उदाहरणों का उपयोग करता हूं तो मुझे हमेशा त्रुटियां मिलती हैं।
मैं this उदाहरण से काम कर रहा हूं और किसी भी मदद की सराहना की जाएगी।
कोड: मैं occludedSquare में गुजरता हूं।
resize(occludedSquare, occludedSquare, Size(0, 0), 0.5, 0.5);
Mat occludedSquare8u;
cvtColor(occludedSquare, occludedSquare8u, CV_BGR2GRAY);
//convert to a binary image. pixel values greater than 200 turn to white. otherwize black
Mat thresh;
threshold(occludedSquare8u, thresh, 170.0, 255.0, THRESH_BINARY);
GaussianBlur(thresh, thresh, Size(7, 7), 2.0, 2.0);
//Do edge detection
Mat edges;
Canny(thresh, edges, 45.0, 160.0, 3);
//Do straight line detection
vector<Vec2f> lines;
HoughLines(edges, lines, 1.5, CV_PI/180, 50, 0, 0);
//imshow("thresholded", edges);
cout << "Detected " << lines.size() << " lines." << endl;
// compute the intersection from the lines detected...
vector<Point2f> intersections;
for(size_t i = 0; i < lines.size(); i++)
{
for(size_t j = 0; j < lines.size(); j++)
{
Vec2f line1 = lines[i];
Vec2f line2 = lines[j];
if(acceptLinePair(line1, line2, CV_PI/32))
{
Point2f intersection = computeIntersect(line1, line2);
intersections.push_back(intersection);
}
}
}
if(intersections.size() > 0)
{
vector<Point2f>::iterator i;
for(i = intersections.begin(); i != intersections.end(); ++i)
{
cout << "Intersection is " << i->x << ", " << i->y << endl;
circle(occludedSquare8u, *i, 1, Scalar(0, 255, 0), 3);
}
}
//Make new matrix bounded by the intersections
...
imshow("localized", localized);
मैं अंक ले जाना चाहते हैं के बहुत सारे मैं एक बनाने के लिए कर रहे हैं आरओआई और वहां से एक नया मैट्रिक्स बनाते हैं। क्या यह और स्पष्ट है? मुझे सच में यकीन नहीं है कि मैट्रिक्स में अंक और ड्राइंग पॉइंट्स बनाने के बीच क्या अंतर है। – myselfesteem