我是OpenCV的新手 . 首先,将物体放在白纸上,然后使用机器人相机拍摄照片 . 在下一步,我试图使用OpenCV(找到轮廓和绘制轮廓)提取放在白纸上的对象 . 我想将这个对象用于我的机器人项目 .
示例图片:
这是我试过的代码:
int main(int argc, char* argv[]){
int largest_area=0;
int largest_contour_index=0;
Rect bounding_rect;
// read the file from console
Mat img0 = imread(argv[1], 1);
Mat img1;
cvtColor(img0, img1, CV_RGB2GRAY);
// Canny filter
Canny(img1, img1, 100, 200);
// find the contours
vector< vector > contours;
findContours(img1, contours, CV_RETR_CCOMP, CV_CHAIN_APPROX_SIMPLE);
printf("%ld\n", contours.size());
for( size_t i = 0; i< contours.size(); i++ ) // iterate through each contour.
{
double are