本文整理汇总了C++中Image::Dimx方法的典型用法代码示例。如果您正苦于以下问题:C++ Image::Dimx方法的具体用法?C++ Image::Dimx怎么用?C++ Image::Dimx使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Image
的用法示例。
在下文中一共展示了Image::Dimx方法的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;
}
示例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();
//.........这里部分代码省略.........