template<class DstArrayT, class Src1ArrayT, class Src2ArrayT, class BpoT>
Translation invariant binary pixel operation based on value call.
Definition at line 78 of file FuncBpo.h. References ArrayCH(), ArrayCPB(), ArrayCW(), PtrRead(), and PtrWrite(). 00080 { 00081 typedef typename DstArrayT::StorType DstStorT; 00082 typedef typename DstArrayT::ArithType DstArithT; 00083 typedef typename Src1ArrayT::StorType Src1StorT; 00084 typedef typename Src1ArrayT::ArithType Src1ArithT; 00085 typedef typename Src2ArrayT::StorType Src2StorT; 00086 typedef typename Src2ArrayT::ArithType Src2ArithT; 00087 00088 int width = ArrayCW(dst); 00089 int height = ArrayCH(dst); 00090 for (int y=0 ; y<height ; y++) 00091 { 00092 Src1StorT* s1Ptr = ArrayCPB(src1, 0, y); 00093 Src2StorT* s2Ptr = ArrayCPB(src2, 0, y); 00094 DstStorT* dPtr = ArrayCPB(dst, 0, y); 00095 for (int x=0 ; x<width ; x++) 00096 { 00097 PtrWrite(dPtr, bpo.DoIt(PtrRead(s1Ptr, Src1ArithT()), 00098 PtrRead(s2Ptr, Src2ArithT()))); 00099 dPtr += DstArrayT::ElemSize(); 00100 s1Ptr += Src1ArrayT::ElemSize(); 00101 s2Ptr += Src2ArrayT::ElemSize(); 00102 } 00103 } 00104 }
Here is the call graph for this function:
|