首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iplImage的cvThreshold

iplImage的cvThreshold
EN

Stack Overflow用户
提问于 2012-12-10 21:32:51
回答 1查看 2.4K关注 0票数 1

我正在使用opencv和qt库用可视化的c++编写代码。我试图将阈值应用于iplImage并显示它,但我遇到了一些问题:当我将iplImage传递给cvThreshold函数(假设阈值为0)时,它不会返回白色图像,我不知道为什么。要显示我正在使用的函数emit:

代码语言:javascript
复制
uchar *qimout=new uchar[sImg];
            IplImage *greyImage=cvCreateImage(cvSize(wImg,hImg),IPL_DEPTH_8U,1);
            cvThreshold(currentImage,greyImage,0,255,cv::THRESH_BINARY);
            greyImage->imageData = (char*)qimout;
            emit renderImage(QImage(qimout,wImg,hImg,QImage::Format_Indexed8));

有人能帮我吗?提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2012-12-10 21:38:19

我认为这与这篇文章有关,Convert RGB to Black & White in OpenCV

代码语言:javascript
复制
     // C
        IplImage *im_rgb  = cvLoadImage("image.jpg");
        IplImage *im_gray = cvCreateImage(cvGetSize(im_rgb),IPL_DEPTH_8U,1);
        cvCvtColor(im_rgb,im_gray,CV_RGB2GRAY);

        // C++
        Mat im_rgb  = imread("image.jpg");
        Mat im_gray;
        cvtColor(im_rgb,im_gray,CV_RGB2GRAY);
        // C
IplImage* im_bw = cvCreateImage(cvGetSize(im_gray),IPL_DEPTH_8U,1);
cvThreshold(im_gray, im_bw, 128, 255, CV_THRESH_BINARY | CV_THRESH_OTSU);

// C++
Mat img_bw = im_gray > 128;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13801991

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档