DSCT:一种数据驱动的图像编码框架

目录

介绍方法PQR 色彩空间双向的 2D PCA 块变换基于 HVS 的量化方法基于机器学习的 PCA 反变换实验色彩空间的影响最优的 (2D)^2;PCA 反变换核总结参考文献介绍

近三十年来发布了很多图像和视频编码标准,如 JPEG, JPEG2000, BPG, MPEG, H.264/AVC, HEVC 等。YCbCr 色彩系统因其各通道间较低的相关性而被大多数编码标准采用。然而从图像整体层面这并不是最优策略,因此产生了许多基于亮度对色度进行预测的方法。此外,一些基于 PCA 的颜色变换方式可以进一步去除通道间相关性,进而降低编码码率,然而这需要为每幅图像保存一个 PCA kernel 并进行计算,复杂度高,因而没有得到广泛应用。

块变换作为一种高效的能量压缩方法,被广泛用于图像视频编码标准中。该方法将图像内容分块后,分别进行空域-频域的变换操作,只有少数的变换系数具有较大数值,而其他大量系数会在量化后变为零,提升了编码压缩效率。JPEG 图像编码标准中使用了块大小为 8×8 的 DCT 变换,随着编码标准的发展,不同块大小的 DCT 变换以及 Hadamard 变换也被引入,在这些变换核中进行 RDO 模式选择增加了编码整体算法的复杂度。

关于 IDCT 的研究主要集中在用新的计算方法和高效的软硬件实现来降低复杂度,如已知零系数的蝶形 IDCT 变换,FPGA 上的高速乘法器实现等。量化是有损数据压缩的重要组成部分,JPEG 标准中使用了 HVS 的量化方法,而近年来的标准为了降低复杂度,选择采用均匀量化方式。

鲜有工作对量化带来的影响进行分析,在图像/视频编码中,DCT 系数要先经过量化和反量化才会进行逆变换,当码率较高时,反量化得到的系数非常接近原始值,因而 IDCT 可以较好地重建图像块。而在码率较低时,量化带来的损失不可忽略,传统的 IDCT 变换核是直接由 DCT 取反得到的,很可能不是最优策略。

本文提出了一种基于机器学习的图像编码方法: “DCST”,并基于图像像素的统计特性设计 JPEG 中的三个模块:1) PCA 色彩变换; 2) 正变换; 3) 反变换。此外,文中还提出了一种新的基于变换核的量化方法。

方法

文中方法是基于 JPEG 编码标准改进而来的,其整体框架如图 1 所示。

DSCT:一种数据驱动的图像编码框架

图1. 提出的 DCST 整体编码框架

PQR 色彩空间

对输入的 RGB 图像使用 PCA (主成分分析) 方法来去除通道间相关性,得到的新的色彩空间被称为 “PQR”。在编码时对每张图像使用 PCA 色彩变换,可以得到比 YCbCr 格式更高的压缩效率。P 通道占用了总体能量的 90% 以上,而 R 通道的能量只有不到 2%。与 JPEG 中对色度分量的处理类似,这里将 Q 分量和 R 分量进行二倍下采样,以此来适应 JPEG 420 框架。

双向的 2D PCA 块变换

使用 DCT 变换时,频域系数间仍保有微弱的相关性,如图 2 (a) 所示,前 16 个 AC 系数间保留了较高的相关性,而基于 PCA 的方法可以有效地去除这些相关性,如图 2 (b) 所示。

DSCT:一种数据驱动的图像编码框架

图2. 在 8×8 块中使用 DCT 和 PCA 方法时,前 16 个 DC/AC 系数之间的相关性

文中选用 (2D)^2 ;PCA 方法进行块变换,(2D)^2 ;PCA 使用水平方向 (2D) ;PCA 和可选的垂直方向 (2D) ;PCA ,与 2D ;PCA 方法相比,它能以少得多的参数需求,取得相同甚至更好的识别准确性。对于 NxN 大小的块,2D ;PCA 需要 N^4 级别的核参数量,而 (2D)^2 ;PCA 只需要 2N^2 的参数量。编码过程中会对每幅图像进行 (2D)^2 ;PCA 训练得到变换核,可以实现比 DCT 更好的压缩性能,该过程中计算的水平和垂直协方差矩阵是额外开销。

基于 HVS 的量化方法

这里将 “Model-based digital halftoning” 一文中的调制传递函数 (Modulation Transfer Function, MTF) 进行了一些修改,并由 (2D)^2 ;PCA 方法生成量化矩阵。

表 1 为使用本文方法生成的一个 8×8 量化表,在 Kodak 数据集上,该表对水平和垂直方向的 PCA 核具有很好的自适应性,性能优于 JPEG 中使用的量化矩阵。由于该量化矩阵可以由上一节中的水平和垂直变换核计算得到,因此量化部分没有额外开销。

DSCT:一种数据驱动的图像编码框架

基于机器学习的 PCA 反变换

为了使模型规模尽可能小,作者选用线性回归方法来寻找最优的反变换核,该过程可以对量化噪声进行建模,并得到更好的解码效果。为了与文中两阶段的 PCA 过程相匹配,这里将训练学习过程分为两部分,分别学习水平和垂直方向的最优反变换核,这样可以大大减少模型的权值数量,提升训练速度。

原始图像可用时,训练过程会在编码时进行:

第一步是对反量化后的图像块 B^{dQ} 和经过垂直变换后(未经量化)的系数块 B^{vertical-T} 进行回归,进而找到水平方向最优的反变换矩阵。具体来说,B^{dQ} 和 B^{vertical-T} 都包括 N 个 8×8 的图像块,对于每一组 B^{vertical-T}_i in B^{vertical-T} , B^{dQ}_i in B^{dQ} ,可以表示为以下形式:B^{vertical-T}_i = B^{dQ}_i cdot X^* 通过求解这 N 个方程,就可以找到水平方向的最优反变换核 X^* 。第二步是在 B^{dQ}_i cdot X^* 和输入图像块 B_i 之间进行线性回归,以找到垂直方向最优反变换核 Z^* ,如下式所示。B_i = Z^* cdot (B_i^{dQ} cdot X^*) 两个反变换核 X^* 和 Z^* 的尺寸都为 8×8。每当对一张图像进行编码时,都会根据亮度 (y ) 通道数据找到一组最优的反变换核,并将它们保存。此处设置色度 (C_b,C_r ) 通道的最优反变换核与亮度通道相同,以降低码率和复杂度。

此外,图像是在 PQR / YC_bC_r 空间中编码的,而查看图像多数是在 RGB 空间中进行。由于色彩值的分布会在量化后略有改变,因此简单地使用 PQR / YC_bC_r

反变换核得到的结果并不是最优的。为了解决这个问题,对于每幅图像,这里将计算一个大小为 3×3 的颜色空间最优反变换核,并将其保存在码流中。

综上各个算法带来的码字开销主要有:水平和垂直方向的协方差矩阵和最优反变换核,以及最优的颜色空间反变换核。在 Kodak 数据集上,整体的码率增长小于 0.007 bpp,这是可以接受的。

图像转图像AI 图像转图像AI

利用AI轻松变形、风格化和重绘任何图像

图像转图像AI 65 查看详情 图像转图像AI 实验

文中使用 Kodak, Multiband Texture (MBT) 和 DIV2K 数据集,并使用 PSNR, SSIM 和 Bjontegaard 指标对性能进行评价。文中方法是基于 libjpeg 库实现的,并将其作为基准参照。

色彩空间的影响

为了验证提出的 PQR 颜色空间的作用,这里分别将 YC_bC_r 和 PQR 格式的图片输入到文中框架,结果如表 3 所示,可以看出 PQR 输入的 BD-PSNR 和 BD-rate 性能都要比 YC_bC_r 更优。

最优的 (2D)^2;PCA

反变换核

文中使用机器学习的方法,训练得到 (2D)^2;PCA 的最优反变换核。为了测试其有效性,作者在固定 QF (Quality Factor, 量化因子) 值下与标准DCT 方法进行了比较(输入信号为 YC_bC_r 格式),性能增益如表 2 所示。

DSCT:一种数据驱动的图像编码框架

表2. 文中方法得到的最优反变换核相较于标准 DCT 变换的性能提升

DSCT:一种数据驱动的图像编码框架

QF (Quality Factor, 质量因子) 的匹配问题

变换核训练中 QF 值错误匹配可能带来一些影响,图 3 中展示了不同 QF 值下学到变换核之间的 L2 距离。由图中可以看出,除了很小的 QF 值 (e.g.

DSCT:一种数据驱动的图像编码框架

图3. 不同 QF 值下雪耳道的变换核差异(L2距离)

纹理影响

如表 2 所示,在 MBT 数据集上的 PSNR 增益比 DIV2K 和 Kodak 更强。图像纹理包含了高频分量,当 QF 值较小时,这些分量被量化为 0,因此很难学到一个较好的变换核;而对于一个较大的 QF 值,更多的高频分量被保留,因此学到的核可以更好地补偿量化误差,从而获得更高的 PSNR 增益。

整体性能

由表 3 和图 4 可以看出,当在色彩空间转换、块变换和最优反变换核选择中都使用 PCA 时,文中方法将比 JPEG 有大幅提升。

DSCT:一种数据驱动的图像编码框架

图4. 在 Kodak 数据集上与 JPEG 比较结果

图 5、6、7 是将部分图像的代表性区域进行放大观察。由图中可以看出,文中方法可以达到更好的色彩重建,更高质量的平滑区域、纹理区域和边缘细节。在使用 JPEG 编码后,红色会变为灰色,这会严重影响视觉体验。而文中方法可以更好地保留原始色彩。此外,使用学习到的变换核,物体边缘受到吉布斯现象影响较小。所有量化造成的失真都会在一定程度上降低,整体的编解码复杂度也保持在了合理水平。

DSCT:一种数据驱动的图像编码框架

图 5. 与JPEG对比,QF=70

DSCT:一种数据驱动的图像编码框架

图 6. 与JPEG对比,QF=70

DSCT:一种数据驱动的图像编码框架

图 7. 与JPEG对比,QF=70

总结

文中提出了一些有助于提升 JPEG 编码性能的方法。通过使用 PQR 色彩空间,各通道的相关性进一步降低,这意味着今后可以使用步长更大的色彩下采样,此外,使用机器学习的方法可以更好地模拟量化噪声。未来工作中,需要进一步研究如何有效保存最优反变换核,以便将变换操作变为整数运算。而这些已被证明在 JPEG 上有效的组件,仍需要在其他图像压缩标准和视频编码标准中进行测试。

附上演讲视频:http://mpvideo.qpic.cn/0bc3myaagaaa24anctxpubqvazwdantaaaya.f10002.mp4?dis_k=ade2495952ff16367fa5a15f6b21cdea&dis_t=1645151372&vid=wxv_2240005339721187330&format_id=10002&support_redirect=0&mmversion=false

参考文献

[1] G. K. Wallace, “The jpeg still picture compression standard,” IEEE transactions on consumer electronics, 38 (1), xviii –xxxiv (1992). https://doi.org/10.1109/30.125072 Google Scholar SFX@SJTU[2] M. Rabbani, “Jpeg2000: Image compression fundamentals, standards and practice,” Journal of Electronic Imaging, 11 (2), 286 (2002). https://doi.org/10.1117/1.1469618 Google Scholar SFX@SJTU[3] . [Online]. Available:Better Portable Graphics, https://bellard.org/bpg/ Google Scholar[4] K. Brandenburg and G. Stoll, “Iso/mpeg-1 audio: A generic standard for coding of high-quality digital audio,” Journal of the Audio Engineering Society, 42 (10), 780 –792 (1994). Google Scholar[5] B. G. Haskell, A. Puri, and A. N. Netravali, “Digital video: an introduction to MPEG-2.,” Springer Science & Business Media,1996). Google Scholar[6] F. C. Pereira, F. M. B. Pereira, F. C. Pereira, F. Pereira, and T. Ebrahimi, The MPEG-4 book., Prentice Hall Professional,2002). Google Scholar[7] T. Wiegand, G. J. Sullivan, G. Bjontegaard, and A. Luthra, “Overview of the h. 264/avc video coding standard,” IEEE Transactions on circuits and systems for video technology, 13 (7), 560 –576 (2003). https://doi.org/10.1109/TCSVT.76 Google Scholar SFX@SJTU[8] G. J. Sullivan, J.-R. Ohm, W.-J. Han, and T. Wiegand, “Overview of the high efficiency video coding (hevc) standard,” IEEE Transactions on circuits and systems for video technology, 22 (12), 1649 –1668 (2012). https://doi.org/10.1109/TCSVT.2012.2221191 Google Scholar SFX@SJTU[9] F. Bossen, B. Bross, K. Suhring, and D. Flynn, “Hevc complexity and implementation analysis,” IEEE Transactions on Circuits and Systems for Video Technology, 22 (12), 1685 –1696 (2012). https://doi.org/10.1109/TCSVT.76 Google Scholar SFX@SJTU [10] D. P. Kingma and M. Welling, “An introduction to variational autoencoders,” (2019). https://doi.org/10.1561/9781680836233 Google Scholar SFX@SJTU[11] J. Ballé, D. Minnen, S. Singh, S. J. Hwang, and N. Johnston, “Variational image compression with a scale hyperprior,” Google Scholar[12] L. Trudeau, N. Egge, and D. Barr, “Predicting chroma from luma in av1,” in 2018 Data Compression Conference. IEEE, 374 –382 (2018). Google Scholar[13] X. Zhang, C. Gisquet, E. Francois, F. Zou, and O. C. Au, “Chroma intra prediction based on inter-channel correlation for hevc,” IEEE Transactions on Image Processing, 23 (1), 274 –286 (2013). https://doi.org/10.1109/TIP.2013.2288007 Google Scholar SFX@SJTU[14] C. Clausen and H. Wechsler, “Color image compression using pca and backpropagation learning,” pattern recognition, 33 (9), 1555 –1560 (2000). https://doi.org/10.1016/S0031-3203(99)00126-0 Google Scholar SFX@SJTU[15] M. Li, “A better color space conversion based on learned variances for image compression,” in Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops, 0 –0 (2019). Google Scholar[16] N. Ahmed, T. Natarajan, and K. R. Rao, “Discrete cosine transform,” IEEE transactions on Computers, 100 (1), 90 –93 (1974). https://doi.org/10.1109/T-C.1974.223784 Google Scholar SFX@SJTU[17] W. K. Pratt, J. Kane, and H. C. Andrews, “Hadamard transform image coding,” in Proceedings of the IEEE, 58 –68 (1969). Google Scholar[18] S. Wold, K. Esbensen, and P. Geladi, “Principal component analysis,” Chemometrics and intelligent laboratory systems, 2 (1-3), 37 –52 (1987). https://doi.org/10.1016/0169-7439(87)80084-9 Google Scholar SFX@SJTU[19] C.-Y. Wang, S.-M. Lee, and L.-W. Chang, “Designing jpeg quantization tables based on human visual system,” Signal Processing: Image Communication, 16 (5), 501 –506 (2001). Google Scholar[20] J. Mannos and D. Sakrison, “The effects of a visual fidelity criterion of the encoding of images,” IEEE transactions on Information Theory, 20 (4), 525 –536 (1974). https://doi.org/10.1109/TIT.1974.1055250 Google Scholar SFX@SJTU[21] I.-M. Pao and M.-T. Sun, “Modeling dct coefficients for fast video encoding,” IEEE Transactions on Circuits and Systems for Video Technology, 9 (4), 608 –616 (1999). https://doi.org/10.1109/76.767126 Google Scholar SFX@SJTU[22] S.-h. Park, K. Choi, and E. S. Jang, “Zero coefficient-aware fast butterfly-based inverse discrete cosine transform algorithm,” IET Image Processing, 10 (2), 89 –100 (2016). https://doi.org/10.1049/ipr2.v10.2 Google Scholar SFX@SJTU[23] A. B. Atitallah, P. Kadionik, F. Ghozzi, P. Nouel, N. Masmoudi, and P. Marchegay, “Optimization and implementation on fpga of the dct/idct algorithm,” in 2006 IEEE International Conference on Acoustics Speech and Signal Processing Proceedings, III –III (2006). Google Scholar[24] D. Zhang and Z.-H. Zhou, “(2d) 2pca: Two-directional two-dimensional pca for efficient face representation and recognition,” Neurocomputing, 69 (1-3), 224 –231 (2005). https://doi.org/10.1016/j.neucom.2005.06.004 Google Scholar SFX@SJTU[25] J. Yang, D. Zhang, A. F. Frangi, and J.-y. Yang, “Two-dimensional pca: a new approach to appearance-based face representation and recognition,” IEEE transactions on pattern analysis and machine intelligence, 26 (1), 131 –137 (2004). https://doi.org/10.1109/TPAMI.2004.1261097 Google Scholar SFX@SJTU[26] S. Daly, “Subroutine for the generation of a two dimensional human visual contrast sensitivity function,” 233203 1987 Eastman Kodak, Rochester, NY (1987). Google Scholar[27] K. Veeraswamy, S. Srinivaskumar, and B. Chatterji, “Designing quantization table for hadamard transform based on human visual system for image compression,” ICGST-GVIP Journal, 7 (3), 31 –38 (2007). Google Scholar[28] T. N. Pappas, J. P. Allebach, and D. Neuhoff, “Model-based digital halftoning,” IEEE Signal processing magazine, 20 (4), 14 –27 (2003). https://doi.org/10.1109/MSP.2003.1215228 Google Scholar SFX@SJTU[29] . [Online]. Available:Kodak images, http://r0k.us/graphics/kodak/ Google Scholar[30] S. Abdelmounaime and H. Dong-Chen, “New brodatz-based image databases for grayscale color and multiband texture analysis,” ISRN Machine Vision, 2013 2013 Google Scholar[31] E. Agustsson and R. Timofte, “Ntire 2017 challenge on single image super-resolution: Dataset and study,” in The IEEE Conference on Computer Vision and Pattern Recognition (CVPR) Workshops, (2017). https://doi.org/10.1109/CVPRW.2017.150 Google Scholar SFX@SJTU[32] Z. Wang, A. C. Bovik, H. R. Sheikh, and E. P. Simoncelli, “Image quality assessment: from error visibility to structural similarity,” IEEE transactions on image processing, 13 (4), 600 –612 (2004). https://doi.org/10.1109/TIP.2003.819861 Google Scholar SFX@SJTU[33] G. Bjontegaard, “Calculation of average psnr differences between rd-curves,” (2001). Google Scholar[34] . [Online]. Available:libjpeg, http://libjpeg.sourceforge.net Google Scholar

以上就是DSCT:一种数据驱动的图像编码框架的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/468407.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月8日 06:25:28
下一篇 2025年11月8日 06:37:03

相关推荐

  • 如何实现C++中的跨平台构建?

    c++++中的跨平台构建可以通过使用cmake、autotools、meson等构建系统和sdl、boost等平台抽象库来实现。1. 使用cmake进行条件编译和链接,生成不同平台所需的构建文件。2. 利用sdl或boost简化代码,使其在不同操作系统上保持一致性。3. 进行广泛的测试和调试,确保代…

    2025年12月18日
    000
  • xcode 怎么创建 c++ 项目

    在 xc++ode 中创建 c++ 项目可以通过以下步骤实现:1. 打开 xcode,点击 “create a new xcode project”。2. 选择 “macos” 平台和 “command line tool” 模…

    2025年12月18日
    000
  • clion 怎么创建 c++ 项目

    在 c++lion 中创建 c++ 项目可以通过以下步骤实现:1. 启动 clion 并点击 “create new project”。2. 选择 “c++ executable” 作为项目类型。3. 设置项目位置,建议使用专门文件夹。4. 选择 c+…

    2025年12月18日
    000
  • Gulc:从头开始建造的C库

    本文开启了一个系列,介绍我正在开发的C99库:Gulc(Generic Utility Library的缩写)。该库主要用于学习和娱乐目的,旨在提供C标准库中安全内存管理和实用功能(如向量和无序映射),以简化C语言编程。未来将持续添加更多功能。 目前,该库包含一个简单的验证系统(类似于断言,但在发行…

    2025年12月18日
    000
  • vs 怎么管理多个 c++ 项目

    在 visual studio 中管理多个 c++++ 项目可以通过创建解决方案和使用 cmake 来实现。1. 创建新解决方案并添加 c++ 项目。2. 使用 cmake 管理项目依赖和配置。通过这些方法,可以高效地组织和维护多个 c++ 项目,提升开发效率。 引言 搞 C++ 开发的朋友们,管理…

    2025年12月18日
    000
  • Meson:使用无中造成的GIT项目作为依赖

    meson项目依赖处理:巧妙解决无meson.build文件的git项目依赖问题 许多优秀的Git项目缺乏Meson.build文件,这给使用Meson构建系统的开发者带来了挑战。本文将介绍一种方法,通过创建补丁文件来解决这个问题,并成功将一个没有Meson.build文件的Git项目作为子项目添加…

    2025年12月18日
    000
  • 网络服务安装

    推介会: 本 SAE(业务学习情况)项目旨在开发一个基于客户端-服务器架构的实时“CAT”网络讨论应用程序。该应用允许多个客户端连接到中央服务器并进行实时通信。下图概述了套接字功能: 资源配置: 编程语言:C 语言版本控制:使用分布式 Github 进行代码共享开发环境:Visual Studio …

    2025年12月18日
    000
  • CSS Grid 布局在 IE 中不兼容的原因及解决方案

    IE 不兼容 CSS Grid 布局的原因是它不支持 CSS Grid 规范。解决方案包括:1. 使用 polyfills 模拟现代浏览器功能;2. 切换到支持 CSS Grid 布局的浏览器;3. 使用替代布局技术(如 Flexbox)。 CSS Grid 布局在 IE 中不兼容的原因 CSS G…

    2025年12月18日
    000
  • 探索文件拆分和合并:管理大文件的革命性工具

    您是否曾在传输或存储大量文件时遇到困难?了解 File Splitter & Merger,这是一个开源项目,旨在以优雅和高效的方式简化这一挑战。 这个项目是做什么的? 文件分割和合并由两个工具组成: 文件分割器 — 将大文件分成更小的块。 文件合并 — 将这些块重新组合成原始文件 为什么有…

    2025年12月18日
    000
  • NFetch

    大家好。 我想与你分享我的新项目。最近我了解了 neofetch 项目归档,并决定尝试用 c 语言编写我的模拟。 现在基本功能已经实现,使用flags进行数据输出等 您可以在链接中找到该项目的源代码:https://github.com/nighty3098/nfetch 安装: git clone…

    2025年12月18日
    000
  • 获取下一行学习如何处理文件描述符和系统 I/O 的项目

    在 c 编程领域,有效管理输入、输出和内存是基础。为了帮助您掌握这些关键概念,您将在 get_next_line 项目中编写一个使用文件描述符逐行读取文件的函数。每次调用该函数都会从文件中读取下一行,从而允许您一次一行处理整个文件内容。 了解系统中的文件描述符和 i/o 什么是文件描述符? 文件描述…

    2025年12月18日
    000
  • 使用免费 NET DIO + Randstad 的后端训练营

    免费的 bootcamp coding the future randstad – backend with .net 对于任何想要专注于 c# 编程语言和 microsoft 开发生态系统的人来说都是一个绝佳的机会。 凭借超过 8,000 个奖学金,参与者将有机会学习 .net 基础知识,成为能够…

    2025年12月18日 好文分享
    000
  • 如何为 C++ 函数库函数贡献代码?

    为 c++++ 函数库贡献代码的指南:选择函数库并了解其贡献流程。创建 issue 描述你的问题或功能请求。编写代码更改并创建 pull request。撰写清晰的编码注释。遵循函数库的编码风格。编写测试用例以确保代码正常工作。 如何为 C++ 函数库函数贡献代码 简介 对开源 C++ 函数库进行贡…

    2025年12月18日
    000
  • C++ 函数的库函数的依赖性和版本管理如何处理?

    c++++ 函数的库函数依赖性管理包括静态链接或动态加载,版本管理涉及 abi 版本和源代码版本。通过检查版本号或使用符号链接可以确保兼容性。实战中,需安装库,检查 abi 版本,获取源代码版本,并使用适当的标志编译和链接程序。 C++ 函数的库函数依赖性和版本管理 在 C++ 中,函数通常会依赖于…

    2025年12月18日
    100
  • clion的安装与配置教程

    CLion是一款由JetBrains开发的C/C++ IDE。安装步骤包括:下载并安装CLion、安装CMake、选择工具链。配置步骤包括:导入项目、编译和运行、调试、代码格式化、添加插件。CLion支持多种功能,包括CMake构建、工具链选择、代码格式化、调试和插件扩展。 CLion 安装与配置教…

    2025年12月18日
    000
  • C++ 函数在人工智能中的广泛应用

    c++++ 函数在人工智能中被广泛应用,用于以下任务:分类:将数据分配到类别(如手写数字识别)回归:预测连续值(如预测房屋价格)聚类:将数据点分组到类似组中(如客户细分)特征工程、模型训练、推理和部署 C++ 函数在人工智能中的广泛应用 引言 C++ 是一门强大的编程语言,在人工智能 (AI) 领域…

    2025年12月18日
    000
  • 埃尔凡操作系统

    ErfanOS:全面控制之路 ErfanOS 是 ErfanKeyhani-1 (Me) 的一个定制操作系统项目,旨在摆脱对政府控制和企业运行系统的需求。它是一个完全 DIY 的操作系统,使用自定义程序集引导加载程序启动,在 32 位保护模式 下运行,并具有 基于 C 的内核。您可以在 QEMU 上…

    2025年12月18日
    000
  • clion和vscode哪个好

    哪款 IDE 更胜一筹?入门门槛:VSCode 门槛较低,适合初学者。语言支持:VSCode 支持多种语言,CLion 专注于 C/C++。调试功能:CLion 调试工具更全面。代码补全:两者均提供优秀补全,CLion 专注于 C/C++。版本控制:两者集成良好。价格:VSCode 免费,CLion…

    2025年12月18日
    000
  • C++ 函数性能优化与持续集成和持续交付的协同作用

    c++++ 函数性能优化与 ci/cd 协同作用概述:将函数性能优化集成到 ci/cd 管道,通过单元测试、基准测试和代码审查监测和改进性能。常见的优化实践包括算法和数据结构优化、内联函数、避免复制、内存访问优化和并发优化。实战案例:采用备忘录技术优化斐波那契函数,减少计算复杂度,并通过 ci/cd…

    2025年12月18日
    000
  • c语言高精度除法运算源代码

    在 C 语言中,高精度除法运算可以通过使用额外的辅助函数和数据结构来实现。首先,需要定义一个高精度整数结构,其中包含数字数组和长度信息。随后,可以使用数组来存储数字,并通过初始化、创建和除法运算函数进行处理。除法运算需要归一化、更新商和减去乘积。最后,去除余数中的前导零并释放内存,即可得到商。 C …

    2025年12月18日
    000

发表回复

登录后才能评论
关注微信