2017-06-20 149 views
0

我正在研究我的论文,目前在图像处理方面,这是我第一次在图像处理领域,我愿意学习更多这个项目的进展。我很困扰的代码:Emgu CV ColorConversion.RGB2GRAY/BGR2GRAY

CvInvoke.CvtColor(imgRgb, imgGray, Emgu.CV.CvEnum.ColorConversion.Rgb2Gray) 

我试过使用此代码,但它只返回作为黑匣子在picturebox。我立即使用此行CvtColor后:

pictureBox1.Image = imgGray.ToBitmap(); 

我读了RGB2GRAY文档和它规定为亮度灰度变换和我真的需要这种类型的算法在我的论文。我想使用Image<Gray, byte> gray_image = resizedImage.Convert<Gray, byte>(),但我不知道正在使用什么类型的灰度算法。

回答

0

Neil, 尽管我不知道EmguCV和OpenCV区域在各自的网站免费提供的源代码。我会拉一个副本,然后看。我只弹出到3.2 OpenCV的文档和发现这一点:像添加/删除alpha通道,扭转信道顺序,转化成/从16位RGB空间内

** RGB↔GRAY

变换RGB颜色(R5:G6:B5或R5:G5:B5)以及从灰度到灰度的转换:

RGB [A]到灰度:Y←0.299⋅R+0.587⋅G+0.114⋅B and

Gray to RGB [A]:R←Y,G←Y,B←Y,A←max(ChannelRange) 将RGB图像转换为灰色用:

cvtColor(SRC,bwsrc,CV :: COLOR_RGB2GRAY); ** Find documentation here

道格