
你应该是初学者吧,首先:下载opencv,并且按照网上说的进行配置。
然后,打开VS,新建工程,写上代码,这里给你一个简单的示例:
#include "cvh"
#include "highguih"
int main( int argc, char argv )
{
IplImage pImg; //声明IplImage指针
//载入图像
if( argc == 2 &&
(pImg = cvLoadImage( argv[1], 1)) != 0 )
{
cvNamedWindow( "Image", 1 );//创建窗口
cvShowImage( "Image", pImg );//显示图像
cvWaitKey(0); //等待按键
cvDestroyWindow( "Image" );//销毁窗口
cvReleaseImage( &pImg ); //释放图像
return 0;
}
return -1;
}
当你完成图像分割之后,图像轮廓检测往往可以进一步筛选你要的目标,OpenCV中可以使用cv2findContours来得到轮廓。
补充 :
再不少场景中,找轮廓的最小外接矩形是基本需求,opencv中minAreaRect得到的是一个带有旋转角度信息的rect,可以使用cv2boxPoints(rect)来将其转为矩形的四个顶点坐标(浮点类型)你也可以使用cv2polylines来绘制这样的轮廓信息
注意findContours参数的变化,在opencv4中,返回值只有contours和hierarchy ,这一点与opencv3中不同。对与轮廓的层级结构,比较难用,虽然可以通过轮廓的层级结构来进行索引你需要的轮廓,不过对于大部分机器视觉应用场景,二值化的结果有时候很难预料,单单通过这种层级关系索引,非常容易出错。所以,只找最外部结构的 cv2RETR_EXTERNAL 是不是真香呢?
处理cv2approxPolyDP()外,你也可以使用cv2convexHull来求轮廓的近似凸包,其中凸形状内部--任意两点连线都在该形状内部。
clockwise :默认为False,即轮廓为逆时针方向进行排列;
returnPoints :设置为False会返回与凸包上对应的轮廓的点索引值,设置为True,则会返回凸包上的点坐标集,默认为True
对于opencv-python的提取图像轮廓部分有问题欢迎留言, Have Fun With OpenCV-Python, 下期见。
以上就是关于需要编写一个opencv的程序,能够不断采集摄像头的图像,计算图像中红色(或接近红色)球体的图像坐标,全部的内容,包括:需要编写一个opencv的程序,能够不断采集摄像头的图像,计算图像中红色(或接近红色)球体的图像坐标,、OpenCV-Python系列八:提取图像轮廓、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)