[断面画像を重ね合わせて、物体を3次元表示]の , [表示用・サブグループ]

[断面画像を重ね合わせて、物体を3次元表示], Python(パイソン) 使って作ってみた ,ソースプログラムリスト あり へ

-----
2024.8.23 presented in [note] ( //note.com/runningWater/ )
2024.9.14 プログラム改変に伴う、書き直しを行った

----------
1 はじめに

これ以降に記述されている内容は、このようなコンピューター・プログラムを制作した、というような事を、ただ、述べているに過ぎない。

以下の記述を読んだ人が、それを単に参考にする、というのであれば、問題は無いと、思われる。

しかし、記述されている内容に沿って、その人が、そこに記されているのと同様の制作や作業を行った際に、その制作、作業、コンピューターの作動の結果、使用されたコンピューター等、様々な方面において、何らかの問題が発生しない、という保証は、全くない。

その制作、作業、コンピューターの作動の結果、その人や、その人が所属している組織、その人が使用した様々な機器、インフラストラクチャー等の、身の上にどのような事が起ころうとも、私は一切、責任を負わない。

このプログラムは、Python(パイソン) 言語を使って、記述されている。

----------
2 表示用・サブグループ

他のモジュール群によって作成された、画像データを受け取り、それを、画面上に表示する、という機能を果たす、サブグループである。

このサブグループは、下記の1個のモジュールから構成される。

ファイル名 [DisplayImage.py]

ーーーーーーーーーー

import cv2
import ImageDataTwoDimensionHandling

#**************************************
import ParametersContainer
#**************************************

MODULE_NAME = "DisplayImage"

def display_image ( arg_ins_ImageDataTwoDimensionHandling ) :

    function_name = "display_image"

    print ( "==================================" )
    print ( "Enter into Module = " + MODULE_NAME
                      + " , function = " + function_name )
    print ( "==================================" )

      #-------------------------------

#************************************************************            #  window_TopLeft_x = 345
    #  window_TopLeft_y = 1
    window_MaxSize    \
             =  ( int ) ( ParametersContainer \
                        .global_par_window_for_display_image_window_MaxSize )
        # window_MaxSize = 400
 #************************************************************

    width_of_ImageData = \
       arg_ins_ImageDataTwoDimensionHandling.get_width_of_ImageData ()
    height_of_ImageData = \
       arg_ins_ImageDataTwoDimensionHandling.get_height_of_ImageData ()

    print ( "==================================" )
    print ( "Module = " + MODULE_NAME
                      + " , function = " + function_name )
    print ( "passed phase_1" )
    print ( "width_of_ImageData = " + str ( width_of_ImageData ) )
    print ( "height_of_ImageData = " + str ( height_of_ImageData ) )
    print ( "==================================" )

    imageData_for_display =                          \
       arg_ins_ImageDataTwoDimensionHandling    \
           .get_loaded_image_data (
                             MODULE_NAME
                           , function_name
                               )

    print ( "==================================" )
    print ( "Module = " + MODULE_NAME
                      + " , function = " + function_name )
    print ( "passed phase_2" )
    print ( "==================================" )

            # if need , resize
    if ( width_of_ImageData > height_of_ImageData ) :
        if ( width_of_ImageData > window_MaxSize ) :
            resized_height = \
                round ( height_of_ImageData * ( window_MaxSize / width_of_ImageData )   \
                      )
            imageData_for_display = cv2.resize (   \
                           imageData_for_display   \
                         , dsize = ( window_MaxSize, resized_height )  \
                               )
    else:
        if ( height_of_ImageData > window_MaxSize ) :
            resized_width =  \
                round ( width_of_ImageData * ( window_MaxSize / height_of_ImageData ) )
            imageData_for_display = cv2.resize(   \
                           imageData_for_display  \
                         , dsize = ( resized_width, window_MaxSize )  \
                              )
            #display image
    cv2.imshow ( MODULE_NAME , imageData_for_display )
    cv2.moveWindow ( MODULE_NAME
#********************************************
                  ,  ( int ) ( ParametersContainer  \
                         .global_par_window_for_display_image_TopLeft_x )
                  ,  ( int ) ( ParametersContainer  \
                         .global_par_window_for_display_image_TopLeft_y )
                                         #   , window_TopLeft_x
                                          #  , window_TopLeft_y
                    )
#********************************************

    print ( "==================================" )
    print ( "Module = " + MODULE_NAME
                      + " , function = " + function_name )
    print ( "passed phase_3" )
    print ( "==================================" )

            #wait pushing key
    # cv2.waitKey ( 0 )
            #if key is pushed, close display
    # cv2.destroyAllWindows ( )

    print ( "==================================" )
    print ( "Exit from Module = " + MODULE_NAME
                      + " , function = " + function_name )
    print ( "==================================" )

    #------------------------------------
def func_destroy_window ( ) :

    function_name = "func_destroy_window"

    print ( "==================================" )
    print ( "Enter into Module = " + MODULE_NAME
                      + " , function = " + function_name )
    print ( "==================================" )

    cv2.destroyAllWindows ( )

    print ( "==================================" )
    print ( "Exit from Module = " + MODULE_NAME
                      + " , function = " + function_name )
    print ( "==================================" )



-----

[断面画像を重ね合わせて、物体を3次元表示], Python(パイソン) 使って作ってみた ,ソースプログラムリスト あり へ


この記事が気に入ったらサポートをしてみませんか?