OpenCV学习日志

it2023-06-14  76

1、图像Mat转化为指针形式

Mat Image;

IplImage *pImage = &IplImage(Image);

2、图像指针

*IplImage *pImage = cvLoadImage("E:\\WT\\双目.jpg");

3、显示图像

const char *pstrTitle = "原图";

cvNamedWindow(pstrTitle, CV_WINDOW_AUTOSIZE);

cvShowImage(pstrTitle, pImage);

4、转灰度图

IplImage *pGrayImage = cvCreateImage(cvGetSize(pImage), IPL_DEPTH_8U, 1);

cvCvtColor(pSrcImage, pGrayImage, CV_BGR2GRAY);

5、二值化

IplImage *pBImage = cvCreateImage(cvGetSize(pGrayImage), IPL_DEPTH_8U, 1);

cvThreshold(pGrayImage, pBImage, 32, 230, CV_THRESH_OTSU ); 

6、找轮廓

 CvMemStorage *pStorage = cvCreateStorage();

 CvSeq *pSeq = NULL;

 cvFindContours(pBImage, pStorage, &pSeq, sizeof(CvContour), CV_RETR_TREE,CV_CHAIN_APPROX_SIMPLE,cvPoint(0, 0));

7、画轮廓

 IplImage *pLineImage = cvCreateImage(cvGetSize(pImage), IPL_DEPTH_8U, 3);

 cvRectangle(pLineImage, cvPoint(0, 0), cvPoint(pLineImage->width, pLineImage->height), CV_RGB(255, 255, 255),CV_FILLED);

int Levels = 1;

 cvDrawContours(pLineImage, pSeq, CV_RGB(0, 150, 0), CV_RGB(0, 0,150) , Levels, 2);

8、内存释放

cvReleaseMemStorage(&pcvMStorage);

 cvDestroyWindow(pstrTitle);

cvReleaseImage(&pImage);

cvReleaseImage(&pGrayImage);

 cvReleaseImage(&pBImage);

cvReleaseImage(&pLineImage);  

最新回复(0)