大佬教程收集整理的这篇文章主要介绍了OpenCV图像从RGB转换为灰度,使用imread提供较差的结果,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
然而,使用imread直接将图像加载为灰度级可使结果非常差.
@H_881_4@mat src1 = imread(inputImageFilename1.c_str(),0);将RGB图像加载为RGB并将其转换为灰度可以获得更好的结果.
@H_881_4@mat src1 = imread(inputImageFilename1.c_str(),1); cvtColor(src1,src1Gray,CV_RGB2GRAY);我想知道我是否正确使用imread的图像类型.有没有人经历过类似的行为?
使用imread转换为灰度的图像如下所示:
使用cvtColor转换为灰度的图像如下所示:
//method 1 cv::Mat gs = cv::imread(filename,CV_LOAD_IMAGE_GRAYSCALE); //method 2 cv::Mat color = cv::imread(filename,1); //loads color if it is available cv::Mat gs_rgb(color.size(),CV_8UC1); cv::cvtColor(color,gs_rgb,CV_RGB2GRAY); //method 3 cv::Mat gs_bgr(color.size(),gs_bgr,Cv_bGR2GRAY);
方法1(加载灰度)和3(Cv_bGR2GRAY)产生相同的结果,而方法2产生不同的结果.对于我自己的目的,我已经开始使用Cv_bGR2GRAY.
我的输入文件是jpg,所以可能会有与您的特定图像格式相关的问题.
以上是大佬教程为你收集整理的OpenCV图像从RGB转换为灰度,使用imread提供较差的结果全部内容,希望文章能够帮你解决OpenCV图像从RGB转换为灰度,使用imread提供较差的结果所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。