opencv imread 函数读取CV_16UC1的png图片
opencv 2.4.11中imread读取图片有三种方式:
- CV_LOAD_IMAGE_UNCHANGED (<0) loads the image as is (including the alpha channel if present)
- CV_LOAD_IMAGE_GRAYSCALE ( 0) loads the image as an intensity one
- CV_LOAD_IMAGE_COLOR (>0) loads the image in the RGB format
如果待读取的png图片是灰度图,而且是16位的,那么应该选用CV_LOAD_IMAGE_UNCHANGED,用Mat类型保存。
例如:
Mat img = imread("depth.png",CV_LOAD_IMAGE_UNCHANGED);
那么img就是一个CV_16UC1类型的数据,访问像素(i,j)
img.at<ushort>(i,j)即可。
本文介绍如何使用OpenCV的imread函数正确读取16位的CV_16UC1灰度PNG图片。在OpenCV2.4.11中,通过设置标志CV_LOAD_IMAGE_UNCHANGED来保持图片的原始格式,包括16位的灰度信息。文中提供了具体的代码示例,展示了如何将图片读取为Mat类型并访问其像素。
560

被折叠的 条评论
为什么被折叠?



