繁体   English   中英

用opencv读取16位tif

[英]Read 16-bit tif with opencv

我正在尝试使用opencv 2.4.3读取16位彩色TIF。 问题是我无法满足任何需求。 我得到的是一系列黑色和灰色线条。

我得到的,而不是温哥华的卫星图像......

我尝试过不同的方式来阅读图像:

cv::Mat cvimage = cv::imread(imageFile, CV_LOAD_IMAGE_COLOR | CV_LOAD_IMAGE_ANYDEPTH);
cv::Mat cvimage = cv::imread(imageFile, CV_LOAD_IMAGE_UNCHANGED);

cv::imshow("image", cvimage);

正如预期的那样,cvimage的typeCV_16UC3

使用opencv读取16位图像的正确方法是什么?

尝试:

cv::Mat cvimage = cv::imread(imageFile
                             , CV_LOAD_IMAGE_ANYCOLOR | CV_LOAD_IMAGE_ANYDEPTH);

如果这不起作用,您可以先将其转换为PNG因为OpenCV可以读取甚至正确写入16位PNG文件。 您可以将您的TIFF转换为PNG而不会丢失。

cv::Mat cvimage = cv::imread(imageFile, -1);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM