00001
00002 package require image
00003 package require stereo
00004 package require model3d
00005
00006 namespace eval stereo {
00007
00008 proc rectification_old { imageLeft
00009 imageRight
00010 vecteursDir
00011 {scale 1.0}
00012 {type_rectification 1}
00013 {debayer false}
00014 } {
00015 00016 00017 00018 00019 00020 00021 00022 00023 00024 00025 00026 00027 00028 00029 00030 00031 00032 00033 00034 00035 00036 00037 00038 00039 00040 00041 00042 00043 00044
00045 00046 set param_stereo_file "$vecteursDir/"
00047 set calibrageMatrices [::stereo::new_CalibrageMatrices]
00048 ::stereo::CalibrageMatrices_readFromOldFile $calibrageMatrices \
00049 $param_stereo_file
00050
00051 set source_image_gauche $imageLeft
00052 set source_image_droite $imageRight
00053 if { $debayer } {
00054 set interm [image::new_Image [$source_image_gauche width] [$source_image_gauche height] [$source_image_gauche depth] 3]
00055 image::Image_convertColorMode $source_image_gauche $interm $::image::Image_bayerRG2bgr
00056 image::Image_convertColorMode $interm $source_image_gauche $::image::Image_rgb2grey
00057 image::Image_convertColorMode $source_image_droite $interm $::image::Image_bayerRG2bgr
00058 image::Image_convertColorMode $interm $source_image_droite $::image::Image_rgb2grey
00059 image::delete_Image $interm
00060 }
00061
00062 set images_rectif [_rectification_old $source_image_gauche $source_image_droite $calibrageMatrices \
00063 $type_rectification]
00064
00065 ::stereo::delete_CalibrageMatrices $calibrageMatrices
00066
00067 if "$scale != 1.0" {
00068 set imageLeftRect [[lindex $images_rectif 0] resize $scale]
00069 set imageRightRect [[lindex $images_rectif 1] resize $scale]
00070 ::image::delete_Image [lindex $images_rectif 0]
00071 ::image::delete_Image [lindex $images_rectif 1]
00072 set images_rectif "$imageLeftRect $imageRightRect"
00073 }
00074
00075 return $images_rectif
00076 }00077
00078
00079 proc _rectification_old { { source_image_gauche }
00080 { source_image_droite }
00081 { calibrageMatrices }
00082 {type_rectification 1}
00083 {i_min 0.0}
00084 {i_max 1.0}
00085 {j_min 0.0}
00086 {j_max 1.0}
00087 } {
00088
00089 00090 00091 00092 00093
00094 set LEFT_IMAGE_ID 0
00095 set RIGHT_IMAGE_ID 1
00096
00097 00098 00099 00100 set interpolation 1;
00101
00102 00103 00104 00105 00106 00107 00108 00109 set distorsion 2;
00110
00111 00112 00113 set nbcol [::image::CvImage_width $source_image_gauche]
00114 set nblig [::image::CvImage_height $source_image_gauche]
00115
00116
00117 00118 set images_sizes [::stereo::new_ImagesSizes]
00119 ::stereo::ImagesSizes_initialize $images_sizes \
00120 $nblig $nbcol 1 1 \
00121 $i_min $i_max $j_min $j_max
00122
00123 set rectif_params_droite [::stereo::new_RectificationParams]
00124 ::stereo::RectificationParams_initialize $rectif_params_droite \
00125 $images_sizes $calibrageMatrices $RIGHT_IMAGE_ID
00126
00127 set rectif_params_gauche [::stereo::new_RectificationParams]
00128 ::stereo::RectificationParams_initialize $rectif_params_gauche \
00129 $images_sizes $calibrageMatrices $LEFT_IMAGE_ID
00130
00131 00132 if {$type_rectification == 2} {
00133 ::stereo::RectificationParams_initializeTables_michel \
00134 $rectif_params_gauche $distorsion
00135 ::stereo::RectificationParams_initializeTables_michel \
00136 $rectif_params_droite $distorsion
00137 }
00138
00139 00140 set reconstruction_params [::stereo::new_ReconstructionParams]
00141 ::stereo::ReconstructionParams_initialize $reconstruction_params $calibrageMatrices
00142 00143
00144 00145 00146 00147 00148 set nRectifiedImageWidth [::stereo::ImagesSizes_getRectifiedImageWidth $images_sizes]
00149 set nRectifiedImageHeight [::stereo::ImagesSizes_getRectifiedImageHeight $images_sizes]
00150 set img_depth $::image::IPL_DEPTH_8U
00151 set color_space $::image::JfrImage_CS_GRAY
00152
00153 set im_rectif_gauche [::image::new_Image \
00154 $nbcol \
00155 $nblig\
00156 $img_depth \
00157 $color_space]
00158
00159
00160 set im_rectif_droite [::image::new_Image \
00161 $nbcol \
00162 $nblig\
00163 $img_depth \
00164 $color_space]
00165
00166
00167 ::stereo::jfrRectification_old $source_image_gauche $im_rectif_gauche \
00168 $images_sizes $rectif_params_gauche \
00169 0 $type_rectification\
00170 $distorsion $interpolation
00171
00172
00173 ::stereo::jfrRectification_old $source_image_droite $im_rectif_droite \
00174 $images_sizes $rectif_params_droite \
00175 0 $type_rectification\
00176 $distorsion $interpolation
00177
00178 00179 00180
00181 00182 ::stereo::delete_ImagesSizes $images_sizes
00183 ::stereo::delete_RectificationParams $rectif_params_droite
00184 ::stereo::delete_RectificationParams $rectif_params_gauche
00185 ::stereo::delete_ReconstructionParams $reconstruction_params
00186
00187 return "$im_rectif_gauche $im_rectif_droite"
00188 }00189
00190 }00191
00192 package provide stereo 0.1