我需要访问DCT系数并在
中应用LSBBitMiracle.LibJpeg.Classic.jvirt_array<BitMiracle.LibJpeg.Classic.JBLOCK>[] JBlock = oJpegDecompress.jpeg_read_coefficients();
问题是我无法访问
oJpegDecompress.Comp_info[1].Height_in_blocks
因为它是非公共变量。
oJpegDecompress.Comp_info[1].Width_in_blocks
可以访问。所以现在如果我没有高度的块数,我怎么能遍历JBlock来操纵系数???
答案 0 :(得分:2)
在JBlock中将有前3个可用数据用于彩色图像.wblocks0和hblocks0是前1个数组的宽度和高度.wblocks1和hblocks1是第2和第3个数组的宽度和高度。
int calh = (int)Math.Ceiling(img.Height / 8.0);
int calw = (int)Math.Ceiling(img.Width / 8.0);
int wblocks0 = calw % 2 == 0 ? calw : calw + 1;
int hblocks0 = calh % 2 == 0 ? calh : calh + 1;
int wblocks1 = calw % 2 == 0 ? calw / 2 : (calw + 1) / 2;
int hblocks1 = calh % 2 == 0 ? calh / 2 : (calh + 1) / 2;