微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用C ++ OpenCV从tif图像拆分多个页面/图层并将其另存为单独的图像?

如何解决如何使用C ++ OpenCV从tif图像拆分多个页面/图层并将其另存为单独的图像?

我不熟悉将C ++与OpenCV一起使用,我想加载一个.tif图像,并找出存在多少页面/层并将该图像分成多个页面。我可以使用以下方法计算图像中的通道数 垫::通道() 并使用cv :: Split()拆分单独的通道,但我想知道是否有一种方法可以找出.tif图像中的层数并将它们拆分为单独的层,并将其另存为C ++中的单独图像。 我也使用python看到了这篇文章how to import multiple layers from tif file with opencv

由于我是C ++的新手,所以尽管尝试了一下,但仍很难使此代码适应C ++。我正在使用Mat图片对象。

任何帮助将不胜感激。

编辑:

for (int i = 0; i < count; i++) //Count is the number of tif images in the folder
{
        images.push_back(imread(fn[i],cv::IMREAD_UNCHANGED)); //pushes all images into a vector of Mat objects
        fileName = getFileExtension(fn[i],true); //getFileExtension is a function to take filename and extension seperately
        Mat current_image = images[i];

        imreadmulti(fileName,pages,cv::IMREAD_ANYCOLOR);
        cout << images[i].dims << endl;
        cout<< pages.size() << endl;
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。