height_in_blocks 在 C# 中的 libJPEG 中
height_in_blocks in libJPEG in C#
我需要访问 DCT 系数并在
中应用 LSB
BitMiracle.LibJpeg.Classic.jvirt_array<BitMiracle.LibJpeg.Classic.JBLOCK>[] JBlock = oJpegDecompress.jpeg_read_coefficients();
问题是我无法访问
oJpegDecompress.Comp_info[1].Height_in_blocks
因为它不是public变量。
oJpegDecompress.Comp_info[1].Width_in_blocks
可以访问。那么现在如果我没有高度块的数量,我该如何遍历 JBlock 来操作系数???
对于彩色图像,JBlock 中将有前 3 个包含可用数据的数组。wblocks0 和 hblocks0 是前 1 个数组的宽度和高度。wblocks1 和 hblocks1 是第二个和第三个数组的宽度和高度。
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;
我需要访问 DCT 系数并在
中应用 LSBBitMiracle.LibJpeg.Classic.jvirt_array<BitMiracle.LibJpeg.Classic.JBLOCK>[] JBlock = oJpegDecompress.jpeg_read_coefficients();
问题是我无法访问
oJpegDecompress.Comp_info[1].Height_in_blocks
因为它不是public变量。
oJpegDecompress.Comp_info[1].Width_in_blocks
可以访问。那么现在如果我没有高度块的数量,我该如何遍历 JBlock 来操作系数???
对于彩色图像,JBlock 中将有前 3 个包含可用数据的数组。wblocks0 和 hblocks0 是前 1 个数组的宽度和高度。wblocks1 和 hblocks1 是第二个和第三个数组的宽度和高度。
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;