当前位置: 首页>>代码示例>>C++>>正文


C++ Image::Dimz方法代码示例

本文整理汇总了C++中Image::Dimz方法的典型用法代码示例。如果您正苦于以下问题:C++ Image::Dimz方法的具体用法?C++ Image::Dimz怎么用?C++ Image::Dimz使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Image的用法示例。


在下文中一共展示了Image::Dimz方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: if

Image<T> Geodilation(Image<T> &G, Image<T> &R, int connex, int niter)
{
	Image<T> Geodilat(G.Dimx(), G.Dimy(), G.Dimz());
	
	// Pink Images
    struct xvimage* imageG;
    struct xvimage* imageR;
    struct xvimage* temp;
    int32_t typepixel;
    
	if (sizeof(T)==1)
   		typepixel = VFF_TYP_1_BYTE;
   	else if (sizeof(T)==2)
		typepixel = VFF_TYP_2_BYTE;
	else if (sizeof(T)==4)
		typepixel = VFF_TYP_4_BYTE;
	else
		std::cerr<<"Error in Geodilation : ImageType not known"<<std::endl;

    imageG=allocheader(NULL,G.Dimx(),G.Dimy(),G.Dimz(),typepixel);
    imageG->image_data= G.GetPointer();

    imageR=allocheader(NULL,G.Dimx(),G.Dimy(),G.Dimz(),typepixel);
    imageR->image_data= R.GetPointer();

    temp=copyimage(imageG);

    lgeodilat(temp,imageR,connex,niter);

    for (int z = 0; z<G.Dimz()  ; ++z){
		for (int y = 0; y<G.Dimy() ; ++y){
			for (int x = 0; x<G.Dimx(); ++x){
					Geodilat(x, y, z) = ((T *)(temp->image_data))[x + y * G.Dimx() + z * G.Dimx() * G.Dimy()];
			}
		}
	}
	
    free(imageR);
    free(imageG);
    free(temp);

   return Geodilat;
}
开发者ID:kerautret,项目名称:RORPO,代码行数:43,代码来源:Geodilation.hpp

示例2: RORPO

Image<T> RORPO(const Image<T> &I, int L, int nb_core)
{

	// ######################################### RPO  #########################################
	
	// the 7 RPO images with a 2-pixel border 
	Image<T> RPO1(I.Dimx() + 4, I.Dimy() + 4, I.Dimz() + 4, 2);
	Image<T> RPO2(I.Dimx() + 4, I.Dimy() + 4, I.Dimz() + 4, 2);
	Image<T> RPO3(I.Dimx() + 4, I.Dimy() + 4, I.Dimz() + 4, 2);
	Image<T> RPO4(I.Dimx() + 4, I.Dimy() + 4, I.Dimz() + 4, 2);
	Image<T> RPO5(I.Dimx() + 4, I.Dimy() + 4, I.Dimz() + 4, 2);
	Image<T> RPO6(I.Dimx() + 4, I.Dimy() + 4, I.Dimz() + 4, 2);
	Image<T> RPO7(I.Dimx() + 4, I.Dimy() + 4, I.Dimz() + 4, 2);
	
	RPO(I, L, RPO1, RPO2, RPO3, RPO4, RPO5,RPO6, RPO7, nb_core);
	
	
	 // ######################################### Limit Orientations Treatment #########################################

	 // ------------------------- Computation of Imin ----------------------------
	 
	 // ---- Imin limit case 4 orientations ----
	 
	 Image<T> Imin4(I.Dimx(), I.Dimy(), I.Dimz());
	  
	 //horizontal + vertical + diag1 + diag4 
	 Image<T> Imin4_1 = RPO1.Copy_image();
	 MinCrush(Imin4_1, RPO2);
	 MinCrush(Imin4_1, RPO4);
	 MinCrush(Imin4_1, RPO7);
	 
	 MaxCrush(Imin4, Imin4_1);
	 Imin4_1.ClearImage();

     //horizontal + vertical + diag2 + diag3
     Image<T> Imin4_2 = RPO1.Copy_image();
	 MinCrush(Imin4_2, RPO2);
	 MinCrush(Imin4_2, RPO5);
	 MinCrush(Imin4_2, RPO6);
	 
	 MaxCrush(Imin4, Imin4_2);
	 Imin4_2.ClearImage();


     //horizontal + profondeur + diag2+ diag4
     Image<T> Imin4_3 = RPO1.Copy_image();
	 MinCrush(Imin4_3, RPO3);
	 MinCrush(Imin4_3, RPO5);
	 MinCrush(Imin4_3, RPO7);

	 MaxCrush(Imin4, Imin4_3);
	 Imin4_3.ClearImage();
	 
	
     //horizontal + profondeur + diag1+ diag3
     Image<T> Imin4_4 = RPO1.Copy_image();
	 MinCrush(Imin4_4, RPO3);
	 MinCrush(Imin4_4, RPO4);
	 MinCrush(Imin4_4, RPO6);

	 MaxCrush(Imin4, Imin4_4);
	 Imin4_4.ClearImage();
	 
     //vertical + profondeur + diag1+ diag2
     Image<T> Imin4_5 = RPO2.Copy_image();
	 MinCrush(Imin4_5, RPO3);
	 MinCrush(Imin4_5, RPO4);
	 MinCrush(Imin4_5, RPO5);

	 MaxCrush(Imin4, Imin4_5);
	 Imin4_5.ClearImage();	 

     //vertical + profondeur + diag3+ diag4
     Image<T> Imin4_6 = RPO2.Copy_image();
	 MinCrush(Imin4_6, RPO3);
	 MinCrush(Imin4_6, RPO6);
	 MinCrush(Imin4_6, RPO7);
 
 	 MaxCrush(Imin4, Imin4_6);
	 Imin4_6.ClearImage();    

 

	 // ---- Imin limit case 5 orientations ----
	 Image<T> Imin5 = RPO4.Copy_image();
	 MinCrush(Imin5, RPO5);
	 MinCrush(Imin5, RPO6);
	 MinCrush(Imin5, RPO7);
	
	
	// ######################################### Sorting RPO orientations #########################################
	
	Image<T> RPOt1 = RPO1.Copy_image();
	Image<T> RPOt2 = RPO2.Copy_image();
	Image<T> RPOt3 = RPO3.Copy_image();
	Image<T> RPOt4 = RPO4.Copy_image();
	Image<T> RPOt5 = RPO5.Copy_image();
	Image<T> RPOt6 = RPO6.Copy_image();
	Image<T> RPOt7 = RPO7.Copy_image();
	
//.........这里部分代码省略.........
开发者ID:kerautret,项目名称:RORPO,代码行数:101,代码来源:RORPO.hpp


注:本文中的Image::Dimz方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。