图像连通域的标定(OpenCv版)
来源:互联网 发布:配送软件app 编辑:程序博客网 时间:2024/06/05 04:02
图像连通域的标定(OpenCv版)
#include "cv.h"
#include "cxcore.h"
#include "highgui.h"
int main( int argc, char** argv )
{
//声明IplImage指针
IplImage* pImg = cvLoadImage("e:/black.jpg",0);
IplImage* pContourImg = NULL;
CvMemStorage * storage = cvCreateMemStorage(0);
CvSeq * contour = 0;
CvSeq *contmax = 0;
int mode = CV_RETR_EXTERNAL;
cvShowImage( "src", pImg );
//为轮廓显示图像申请空间
//3通道图像,以便用彩色显示
pContourImg = cvCreateImage(cvGetSize(pImg),
IPL_DEPTH_8U,
3);
//copy source image and convert it to BGR image
cvCvtColor(pImg, pContourImg, CV_GRAY2BGR);
//查找contour
cvFindContours( pImg, storage, &contour, sizeof(CvContour),
mode, CV_CHAIN_APPROX_SIMPLE, cvPoint(0,0));
//将轮廓画出
cvDrawContours(pContourImg, contour,
CV_RGB(255,0,0), CV_RGB(255, 0, 0),
2, 2, 8, cvPoint(0,0));
int area,maxArea = 10;//设面积最大值大于10Pixel
for(;contour;contour = contour->h_next)
{
area = fabs(cvContourArea( contour, CV_WHOLE_SEQ )); //获取当前轮廓面积
printf("area == %lf\n", area);
if(area > maxArea)
{
contmax = contour;
maxArea = area;
}
}
CvRect aRect = cvBoundingRect( contmax, 0 );
cvSetImageROI( pContourImg,aRect);
//显示图像
cvShowImage( "contour", pContourImg );
cvSaveImage("e:/contour.jpg",pContourImg);
cvWaitKey(0);
//销毁窗口
cvDestroyWindow( "src" );
cvDestroyWindow( "contour" );
//释放图像
cvReleaseImage( &pImg );
cvReleaseImage( &pContourImg );
cvReleaseMemStorage(&storage);
return 0;
}
#include "cv.h"
#include "cxcore.h"
#include "highgui.h"
int main( int argc, char** argv )
{
//声明IplImage指针
IplImage* pImg = cvLoadImage("e:/black.jpg",0);
IplImage* pContourImg = NULL;
CvMemStorage * storage = cvCreateMemStorage(0);
CvSeq * contour = 0;
CvSeq *contmax = 0;
int mode = CV_RETR_EXTERNAL;
cvShowImage( "src", pImg );
//为轮廓显示图像申请空间
//3通道图像,以便用彩色显示
pContourImg = cvCreateImage(cvGetSize(pImg),
IPL_DEPTH_8U,
3);
//copy source image and convert it to BGR image
cvCvtColor(pImg, pContourImg, CV_GRAY2BGR);
//查找contour
cvFindContours( pImg, storage, &contour, sizeof(CvContour),
mode, CV_CHAIN_APPROX_SIMPLE, cvPoint(0,0));
//将轮廓画出
cvDrawContours(pContourImg, contour,
CV_RGB(255,0,0), CV_RGB(255, 0, 0),
2, 2, 8, cvPoint(0,0));
int area,maxArea = 10;//设面积最大值大于10Pixel
for(;contour;contour = contour->h_next)
{
area = fabs(cvContourArea( contour, CV_WHOLE_SEQ )); //获取当前轮廓面积
printf("area == %lf\n", area);
if(area > maxArea)
{
contmax = contour;
maxArea = area;
}
}
CvRect aRect = cvBoundingRect( contmax, 0 );
cvSetImageROI( pContourImg,aRect);
//显示图像
cvShowImage( "contour", pContourImg );
cvSaveImage("e:/contour.jpg",pContourImg);
cvWaitKey(0);
//销毁窗口
cvDestroyWindow( "src" );
cvDestroyWindow( "contour" );
//释放图像
cvReleaseImage( &pImg );
cvReleaseImage( &pContourImg );
cvReleaseMemStorage(&storage);
return 0;
}
0 0
- 图像连通域的标定(OpenCv版)
- 图像连通域的标定(OpenCv版)
- 图像连通域的标定
- OpenCV求得图像的最大连通域
- OpenCV找图像的连通域
- opencv 删除二值化图像中面积较小的连通域
- opencv 删除二值化图像中面积较小的连通域
- opencv 删除二值化图像中面积较小的连通域 .
- OpenCV获取彩色图像某一通道的最大连通域
- OpenCV: 图像连通域检测的递归算法
- opencv 删除二值化图像中面积较小的连通域
- opencv 删除二值化图像中面积较小的连通域
- opencv 删除二值化图像中面积较小的连通域
- opencv 删除二值化图像中面积较小的连通域
- 二值图像连通区域标记(OpenCV版)
- OpenCV-二值图像连通域分析
- opencv对图像进行标定
- Qt+opencv 图像目标标定
- ARC使用心得
- iOS设计模式之观察者模式
- 类型System.Double的对象无法转换为类型System.Single
- ExtJS4.2基础知识之事件机制
- mysqli_result:fetch_all() 不识别的解决办法
- 图像连通域的标定(OpenCv版)
- 深度优化LNMP课堂笔记
- 敏捷测试(7)--基于story的敏捷基础知识
- LeetCode 036 Valid Sudoku
- 流媒体加速服务的详细讲解
- UVa 133The Dole Queue解题报告
- Android目录结构
- 一次oracle数据库数据块损坏的处理过程
- Ubuntu安装配置MySQL数据库