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

加载一个大的 tif 文件,但在 openCV 中只加载了第一个切片

如何解决加载一个大的 tif 文件,但在 openCV 中只加载了第一个切片

我正在编写代码以处理我的 tiff 文件

我设法加载了 20 到 30 个切片的 tif 文件,但是当我继续处理具有 4000 个切片的原始文件时,只加载了第一个切片。我没有收到任何类型的错误。 我什至继续使用 FIJI image J 将这些文件重新保存到 tiff 文件中,以防原件损坏但结果相同。

这是我的原始文件之一:https://www.dropbox.com/s/wtkyj9qzxw4q1uf/CT_Part.tif?dl=0

    etval,mats = cv.imreadmulti(tif,flags=cv.IMREAD_GRAYSCALE)
    print(len(mats))

所以这个打印输出 1 而不是 4000 slice 。同样,如果我用只有 20 个切片的一小块原始文件进行测试,我确实得到了 20 个。

Opencv 版本:4.5.1 Python 版本:3.8.3

任何解释或建议将不胜感激。

解决方法

使用 tifffile 库,如果您的代码出现问题,您可以通过以下方式替换它:

    <?php


if ( ! defined( 'ABSPATH' ) ) {
    exit;
}

$related_product_view = woodmart_get_opt( 'related_product_view' );

if ( $related_products ) : ?>

    <div class="related-products">
        
        <?php
        $heading = apply_filters( 'woocommerce_product_related_products_heading',__( 'Related products','woocommerce' ) );
        
        if ( $heading ) :
            ?>
        <h3 class="title slider-title"><?php echo esc_html( $heading ); ?></h3>
        <?php endif; ?>
        
        <?php 
        
            if ( $related_product_view == 'slider' ) {
                $slider_args = array(
                    'slides_per_view' => ( woodmart_get_opt( 'related_product_columns' ) ) ? woodmart_get_opt( 'related_product_columns' ) : apply_filters( 'woodmart_related_products_per_view',4 ),'img_size' => 'woocommerce_thumbnail','products_bordered_grid' => woodmart_get_opt( 'products_bordered_grid' ),'custom_sizes' => apply_filters( 'woodmart_product_related_custom_sizes',false ),'product_quantity' => woodmart_get_opt( 'product_quantity' )
                );
                
                woodmart_set_loop_prop( 'products_view','carousel' );

                echo woodmart_generate_posts_slider( $slider_args,false,$related_products );
            }elseif ( $related_product_view == 'grid' ) {
        
                woodmart_set_loop_prop( 'products_columns',woodmart_get_opt( 'related_product_columns' ) );
                woodmart_set_loop_prop( 'products_different_sizes',false );
                woodmart_set_loop_prop( 'products_masonry',false );
                woodmart_set_loop_prop( 'products_view','grid' );
                
                woocommerce_product_loop_start();

                foreach ( $related_products as $related_product ) {
                    $post_object = get_post( $related_product->get_id() );

                    setup_postdata( $GLOBALS['post'] = $post_object );

                    wc_get_template_part( 'content','product' ); 
                }

                woocommerce_product_loop_end();
                
                woodmart_reset_loop();
                
                if ( function_exists( 'woocommerce_reset_loop' ) ) woocommerce_reset_loop();
            }
            
        ?>
        
    </div>

<?php endif;

wp_reset_postdata();

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

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?