image - OpenCV:cvLoadImage 将16位图像打开为8位

标签 image opencv

我正在尝试使用 OpenCV 2.1 处理 16 位单 channel 未压缩 TIFF 图像,但是当我调用 cvLoadImage 时,显然它们被转换为 8 位:

IplImage* img = cvLoadImage("myImage.tif",
      CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR);

std::cout << img->depth << std::endl;

打印

8

这些图像是由只生成这种图像的荧光扫描仪生成的,我已经用商业软件包确认它们确实是 16 位的。

如何打开这些图像并使用原始位深度?

最佳答案

在 OpenCV 中加载一个 tif 图像(例如 16 位)在 python 中应该通过键入:

im = cv.LoadImageM("test.tif",cv.CV_LOAD_IMAGE_UNCHANGED)

关于image - OpenCV:cvLoadImage 将16位图像打开为8位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3263050/

相关文章:

php - 使用php上传照片无需重新加载

Java 比较 GridLayout 面板上的两个图像/按钮数组

javascript - HTML 到图像到 Base64

c++ - 在颜色空间之间转换图像

python - 如何在图像时间序列中一致地编号轮廓?

bash - sed 不能在 dockerfile 中工作,但在容器 bash 中可以

java - ImageView 找不到图片网址

c++ - 如何证明 findContours 做的事情与 cvBlob 做的一样

c++ - 如何添加对角概率霍夫线

c++ - 这段代码是什么意思?打开简历