[英]How can I load an image and iterate through its pixels?
我的问题很简单,假设我有一个图像并且我想将它加载到我的程序中,以便我可以获得每个像素的颜色。 我怎么能那样做? 简而言之,我想要一种给我像素颜色的方法。
struct color{
double r, g, b;
color(){}
color(float red, float green, float blue){r = red; g = green; b = blue;}
};
color GetPixel(string imageName, int x, int y){
//if(x < 0 || x >= width of image) return color(0,0,0);
//if(y < 0 || y >= height of image) return color(0,0,0);
//do stuff
return colorForPixelXY;
}
最好我想在本地进行,而不使用任何外部库。
STB 图像库是单个文件,header 只是一个“库”,您可以在项目中免费包含和使用它。 对于像您这样的情况,这是一种行业标准。 强烈推荐。
https://github.com/nothings/stb
也就是说,在 C++ 中读取 PNM/PPM 文件非常容易,因为它基本上是一个文本文件。 任何图像 package 都可以获取您的 BMP、JPG 并将其保存到 PNM,您甚至可以将其包含在可执行二进制文件中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.