java cv bgr2gray_请问CV_BGR2GARY和CV_GARY2BGR使用上的区别

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

// 图像中的线段检测

//By MoreWindows (p><p>#pragmacomment(linker,

intmain()

{

constchar*pstrWindowsSrcTitle="原图(http://blog.csdn.net/MoreWindows)";

constchar*pstrWindowsLineName="线段检测";

//从文件中加载原图

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

运行时就报错了 新人 不是很懂原因

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值