
OpenCV 用imread函数读入灰度图变成彩色图怎么回事
3个回答
展开全部
你原本图像是多大,是不是BMP?如果你原本的图像比较小的话,那有可能因为灰度图像需要颜色表的原因导致灰度图比不需要颜色表的24位真彩图还要大。推荐你用UltraEdit参考图片的格式分析一下这两个图片 在matlab中纯粹是像素点的数值,所以灰度图为真彩的1/3
已赞过
已踩过<
评论
收起
你对这个回答的评价是?

2024-08-07 广告
OpenCV标定板是东莞市大凡光学科技有限公司在相机标定中常用的工具。它通常由黑白格点按一定规则排列在平面上组成,如棋盘格或圆形格等。在相机标定时,将标定板置于不同位置和姿态下拍摄图像,利用OpenCV库中的函数检测标定板上的角点或圆心,进...
点击进入详情页
本回答由东莞大凡提供
展开全部
当我们在使用imread()函数而没有给出第二个参数的时候,第二个参数的默认值是IMREAD_COLOR,即默认读入的图片是彩色图片。
当我把上面读入的img图片的每个通道的值都输出来的时候,发现每个像素的三个通道的值都是相等的,也就是说,0.jpg虽然是一张灰度图片,但是默认以彩色的方式读入,所以三个通道的值都取了该像素对应的灰度值。
[cpp] view plain copy
img = imread("F:\\My_Desktop\\data\\gesture_frame\\test\\1\\1\\0.jpg",0);
当我把上面读入的img图片的每个通道的值都输出来的时候,发现每个像素的三个通道的值都是相等的,也就是说,0.jpg虽然是一张灰度图片,但是默认以彩色的方式读入,所以三个通道的值都取了该像素对应的灰度值。
[cpp] view plain copy
img = imread("F:\\My_Desktop\\data\\gesture_frame\\test\\1\\1\\0.jpg",0);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2017-02-19
展开全部
有图片吗?可能你说的是RGB颜色是都有的把,你把imread的参数设置一下,记得0还是-1读取图片就是灰度图
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询