本文整理汇总了C++中MyImage::getYbuf方法的典型用法代码示例。如果您正苦于以下问题:C++ MyImage::getYbuf方法的具体用法?C++ MyImage::getYbuf怎么用?C++ MyImage::getYbuf使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MyImage
的用法示例。
在下文中一共展示了MyImage::getYbuf方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: diff_pic
int diff_pic(unsigned char *logo_img_sample, int pyr_i, const MyImage &img_pic, int start_r, int start_c, int end_r, int end_c)
{
unsigned char *Ybuf_pic = img_pic.getYbuf();
int block_unit = 8;
int block_len = pyr_i * BLOCK_SIZE;
int error = 0;
for(int i = start_r; i < end_r; i += block_unit) {
for(int j = start_c; j < end_c; j += block_unit) {
int min_mse = (1 << 31) - 1;
for(int row = 0; row < block_len; row += block_unit) {
for(int col = 0; col < block_len; col += block_unit) {
int block_err = 0;
for(int blc_i = 0; blc_i < block_unit; blc_i++) {
for(int blc_j = 0; blc_j < block_unit; blc_j++) {
int diff = logo_img_sample[(row + blc_i) * block_len + col + blc_j] - Ybuf_pic[(i + blc_i) * img_pic.getWidth() + j + blc_j];
block_err += diff * diff;
}
}
if(block_err < min_mse) min_mse = block_err;
}
}
error += min_mse;
}
}
return error / (block_len / 8) / (block_len / 8);
}