[英]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的type
是CV_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.