本文整理汇总了C++中DoubleArray::width方法的典型用法代码示例。如果您正苦于以下问题:C++ DoubleArray::width方法的具体用法?C++ DoubleArray::width怎么用?C++ DoubleArray::width使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DoubleArray
的用法示例。
在下文中一共展示了DoubleArray::width方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: applyMasks
DoubleArray MASKS::applyMasks(const DoubleArray& image) {
//This applies the mask that is stored onto an array of doubles representing
//the image.
DoubleArray newImage(image.size(),0.0);
double tempSum=0;
int startI,endI,startK,endK;
int M=maskArrays.width(), N=maskArrays.height();
for(int x=0;x<image.width();x++) {
for(int y=0;y<image.height();y++) {
startI=-M/2; endI=M/2;
startK=-N/2; endK=N/2;
if(x-M/2<0)
startI=-x;
if(y-N/2<0)
startK=-y;
if(x+M/2>=image.width())
endI=image.width()-x-1;
if(y+N/2>=image.height())
endK=image.height()-y-1;
for(int i=startI;i<=endI;i++) {
for(int k=startK;k<=endK;k++) {
tempSum+=image[ICoord(x+i,y+k)]*maskArrays[ICoord(M/2+i,N/2+k)];
//If M and N aren't odd, will get segmentation fault
}
}
newImage[ICoord(x,y)]=tempSum;
// if(tempSum<0)
tempSum=0;
}
}
return newImage;
}