gpt4 book ai didi

c++ - 绘制图像的最简单方法?

转载 作者:可可西里 更新时间:2023-11-01 16:35:17 26 4
gpt4 key购买 nike

假设你想从硬盘读取一个通用文件格式的图像文件,改变一个像素的颜色,并将生成的图像显示到屏幕上,在 C++ 中。

您会推荐哪些(开源)库来用最少的代码完成上述任务?

或者,哪些库会以最优雅的方式执行上述操作?

一些背景知识:我最近阅读了很多计算机图形学文献,其中有很多我想实现的相对简单的基于像素的算法。然而,虽然算法本身通常很容易实现,但在每个像素的基础上操作图像并显示结果所需的框架数量使我无法这样做。

最佳答案

CImg库易于使用。

CImg<unsigned char> img("lena.png");              // Read in the image lena.png
const unsigned char valR = img(10,10,0,0); // Read the red component at coordinates (10,10)
const unsigned char valG = img(10,10,0,1); // Read the green component at coordinates (10,10)
const unsigned char valB = img(10,10,2); // Read the blue component at coordinates (10,10) (Z-coordinate omitted here).
const unsigned char avg = (valR + valG + valB)/3; // Compute average pixel value.
img(10,10,0) = img(10,10,1) = img(10,10,2) = avg; // Replace the pixel (10,10) by the average grey value.
CImgDisplay main_disp(img, "Modified Lena"); // Display the modified image on the screen
img.save("lena_mod.png"); // Save the modified image to lena_mod.png

它也可以用作一个相当强大的图像处理库。查看示例 here .

关于c++ - 绘制图像的最简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4576182/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com