b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

opencv中文论坛_halcon和opencv哪个好_halcon opencv哪个好

电脑杂谈  发布时间:2016-11-25 17:09:12  来源:网络整理
opencv中文论坛

opencv 将图片中白色部分转化为透明

opencv中文论坛好冷清呀!来这里转转。

vc6.0 + opencv1.0

我用CvvImage::Load加载图片,但是alpha channel被忽略了。

我想手动将其转化为RGBA,将白色的部分转化为透明的, 以下是我的实现代码

C/C++ code // m_cvImageSmall为待转化的图片 // m_p4Channel 为转化后的 IplImage *dst = 0;CvSize dst_cvsize;IplImage * src = m_cvImageSmall.GetImage();dst_cvsize.width = src->width; dst_cvsize.height = src->height;dst = cvCreateImage( dst_cvsize, src->depth, 4);int x; int y; uchar r, g, b;for (y = 0; y < src->height; y++) {uchar *ptrSrc = (uchar*)(src->imageData + y * src->widthStep);uchar *ptrDst = (uchar*)(dst->imageData + y * dst->widthStep);for (x = 0; x < src->width; x++){r = ptrSrc[3 * x];g = ptrSrc[3 * x + 1];b = ptrSrc[3 * x + 2];ptrDst[4 * x] = r;ptrDst[4 * x + 1] = g;ptrDst[4 * x + 2] = b;if (255 == r && 255 == g && 255 == b)//白色部分为透明ptrDst[4 * x + 3] = 0;elseptrDst[4 * x + 3] = 255;} }m_p4Channel = dst;

但是我把m_p4Channel画在界面上时,程序退出。

C/C++ codeif (m_p4Channel){CvvImage img;img.CopyOf(m_p4Channel, 4);//---------------------这里出问题了。CRect rChannel(0, 0, img.Width(), img.Height());img.DrawToHDC(memDC.GetSafeHdc(), &m_rcCropDst);}

应该还是透明处理出问题了吧。opencv中文论坛

我看不出哪里出问题。

请指教。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-21843-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...