你很嚣张哦🔥 yg4556763
关注数: 42 粉丝数: 484 发帖数: 6,873 关注贴吧数: 15
请问CV_BGR2GARY和CV_GARY2BGR使用上的区别 // 图像中的线段检测 //By MoreWindows (<img class="BDE_Image" src="http://blog.csdn.net/MoreWindows)</p><p>#include<opencv2/opencv.hpp></p><p>usingnamespacestd;</p><p>#pragmacomment(linker,"/subsystem:\"windows\"/entry:\"mainCRTStartup\"")</p><p>intmain()</p><p>{</p><p>constchar*pstrWindowsSrcTitle="原图(http://blog.csdn.net/MoreWindows)";</p><p>constchar*pstrWindowsLineName="线段检测";</p><p></p><p>//从文件中加载原图</p><p>IplImage*pSrcImage=cvLoadImage("201.jpg" unselectable="on" pic_type="1"/> ", CV_LOAD_IMAGE_UNCHANGED); // 灰度图 IplImage *pGrayImage = cvCreateImage(cvGetSize(pSrcImage), IPL_DEPTH_8U, 1); cvCvtColor(pSrcImage, pGrayImage, CV_BGR2GRAY); // 边缘图 IplImage *pCannyImage = cvCreateImage(cvGetSize(pSrcImage), IPL_DEPTH_8U, 1); cvCanny(pGrayImage, pCannyImage, 30, 90); //cvSmooth(pCannyImage, pCannyImage); // 线段检测(只能针对二值图像) CvMemStorage *pcvMStorage = cvCreateMemStorage(); double fRho = 1; double fTheta = CV_PI / 180; int nMaxLineNumber = 50; //最多检测条直线 double fMinLineLen = 50; //最小线段长度 double fMinLineGap = 10; //最小线段间隔 CvSeq *pcvSeqLines = cvHoughLines2(pCannyImage, pcvMStorage, CV_HOUGH_PROBABILISTIC, fRho, fTheta, nMaxLineNumber, fMinLineLen, fMinLineGap); // 绘制线段 IplImage *pColorImage = cvCreateImage(cvGetSize(pSrcImage), IPL_DEPTH_8U, 3); cvCvtColor(pCannyImage, pColorImage, CV_GRAY2BGR); int i; for(i = 0; i < pcvSeqLines->total; i++) { CvPoint* line = (CvPoint*)cvGetSeqElem(pcvSeqLines, i); cvLine(pColorImage, line[0], line[1], CV_RGB(255,0,0), 2); } cvNamedWindow(pstrWindowsSrcTitle, CV_WINDOW_AUTOSIZE); cvShowImage(pstrWindowsSrcTitle, pSrcImage); cvNamedWindow(pstrWindowsLineName, CV_WINDOW_AUTOSIZE); cvShowImage(pstrWindowsLineName, pColorImage); cvWaitKey(0); cvReleaseMemStorage(&pcvMStorage); cvDestroyWindow(pstrWindowsSrcTitle); cvDestroyWindow(pstrWindowsLineName); cvReleaseImage(&pSrcImage); cvReleaseImage(&pGrayImage); cvReleaseImage(&pCannyImage); cvReleaseImage(&pColorImage); return 0; } 运行这个程序 不小心把for循环上的cvtcolor里的CV_GRAY2BGR改为CV_BGR2GRAY 运行时就报错了 新人 不是很懂原因
1 下一页