opencv中轮廓内部的像素点怎么提取

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了opencv中轮廓内部的像素点怎么提取相关的知识,希望对你有一定的参考价值。

参考技术A pointPolygonTest( InputArray contour, Point2f pt, bool measureDist );
cvPointPolygonTest( const CvArr* contour, CvPoint2D32f pt, int measure_dist );本回答被提问者采纳

关于Opencv的IplImage怎么把其每个点像素值提取出来

我试了用cvGet2D,但是很慢很慢,所以想用指针, 但是使用的时候发现我只能改变里面的值,但是不能提取显示用来,我提取的时候是用这样的
for(int y=0;y<img->height;y++)

unsigned char* picptr = (unsigned char*)(img->imageData + y*img->widthStep);
for(int x=0;x<img->width;x++)


printf( "%f ", picptr[3*x+1]);


printf("\n")


显示出来的全是0,但是可以改变里面的值,比如把
printf( "%f ", picptr[3*x+1]);改成
picptr[3*x+1] = 255;的时候,显示出来的图像是改变了的

参考技术A 你得先将值赋值给一个m,然后输出m即可,因为data是char类型, 参考技术B printf( "%f ", picptr[3*x+1]); =》 printf( "%d ", picptr[3*x+1]);

以上是关于opencv中轮廓内部的像素点怎么提取的主要内容,如果未能解决你的问题,请参考以下文章

使用opencv获取(内边缘)轮廓像素

OpenCV与EmguCV中的图像轮廓提取

求C++中利用opencv计算轮廓图像傅里叶描述子的代码

opencv——轮廓发现与轮廓分析

怎么用OpenCV编程实现输出白色像素点的坐标值

用opencv如何提取像素点的RGB分量