4 #include <cartobase/config/cartobase_config.h> 53 template <
typename TImage >
55 typename TImage::value_type foreground,
56 typename TImage::value_type background)
69 for (; !iIm.isAtEnd(); ++iIm)
71 if (*iIm == background)
75 (containsNeighbor<-1, 0, 0>(iIm) && (iIm.template getUnsafeValue<-1,0,0>() == foreground)) ||
76 (containsNeighbor<+1, 0, 0>(iIm) && (iIm.template getUnsafeValue<+1,0,0>() == foreground)) ||
77 (
containsNeighbor< 0,-1, 0>(iIm) && (iIm.template getUnsafeValue<0,-1,0>() == foreground)) ||
78 (containsNeighbor< 0,+1, 0>(iIm) && (iIm.template getUnsafeValue<0,+1,0>() == foreground)) ||
79 (
containsNeighbor< 0, 0,-1>(iIm) && (iIm.template getUnsafeValue<0,0,-1>() == foreground)) ||
80 (containsNeighbor< 0, 0,+1>(iIm) && (iIm.template getUnsafeValue<0,0,+1>() == foreground)))
90 for (; !iIm.isAtEnd(); ++iIm)
92 if (*iIm == color) *iIm = foreground;
99 template <
typename TImage >
101 typename TImage::value_type foreground,
102 typename TImage::value_type background)
104 for (
int i = 0; i < nsteps; ++i)
110 template <
typename TImage >
112 typename TImage::value_type foreground,
113 typename TImage::value_type background)
115 for (
int i = 0; i < nsteps; ++i)
121 template <
typename TImage >
124 typename TImage::value_type foreground,
125 typename TImage::value_type background)
A trait class to assign iterators to image types.
Belongs to package Box Do not include directly, include til/Box.h instead.
void diamondErosion(TImage &im, int nsteps, typename TImage::value_type foreground, typename TImage::value_type background)
General macros, definitions and functions.
void diamondDilation(TImage &im, int nsteps, typename TImage::value_type foreground, typename TImage::value_type background)
bool containsNeighbor(const VolumetricImageIterator &iIm)
void diamondClosure(TImage &im, int nsteps, typename TImage::value_type foreground, typename TImage::value_type background)
void oneStepDilation(TImage &im, typename TImage::value_type foreground, typename TImage::value_type background)
T findValueOtherThan(T v1, T v2)
Returns a number (a positive integer) with a different value than the input numbers.