C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – 带椭圆的OpenCV裁剪图像大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个大小为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椭圆形,其余为黑色.

大佬总结

以上是大佬教程为你收集整理的c – 带椭圆的OpenCV裁剪图像全部内容,希望文章能够帮你解决c – 带椭圆的OpenCV裁剪图像所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。