c – 带椭圆的OpenCV裁剪图像
发布时间:2020-12-16 09:33:10 所属栏目:百科 来源:网络整理
导读:我有一个大小为92×112的图像(cv :: Mat)我想用椭圆环绕这个图像中的对象,然后只获得这些像素来创建另一个只包含对象的图像. 我的意思是,用椭圆裁剪原始图像. 这是可能的? 我正在尝试绘制一个椭圆,但是椭圆不会绘制完整的,具有: ellipse(escalada,Point(92
我有一个大小为92×112的图像(cv :: Mat)我想用椭圆环绕这个图像中的对象,然后只获得这些像素来创建另一个只包含对象的图像.
我的意思是,用椭圆裁剪原始图像. 我正在尝试绘制一个椭圆,但是椭圆不会绘制完整的,具有: ellipse(escalada,Point(92/2,112/2),Size(92/2*0.95,112/2*0.85),0.0,90.0,Scalar(255,0),3,8); 并使用cvSetImageROI进行一些测试以裁剪图像,但此方法仅适用于cvRect. 有些想法? 解决方法
我用这个解决了:
imagen = imread(nombre_imagen,0); //read image (grayscale) //Use old C interface IplImage *res,*roi; IplImage src(imagen); res = cvCreateImage(Size(imagen.rows,imagen.cols),8,1); roi = cvCreateImage(Size(imagen.rows,1); cvZero(roi); cvEllipse(roi,cvPoint(src.width/2,src.height/2),cvSize(src.width/2*0.85,src.height/2*0.95),360.0,CV_RGB(255,255,255),-1,0); cvAnd(&src,&src,res,roi); cvReleaseImage(&roi); 然后在res变量我有一个图像显示ROI椭圆形,其余为黑色. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |