C++获取黑色图片上一个白色点的像素座标
C++获取黑色图片上一个白色点的像素坐标
这是一个获取一张黑色图片上一个白色亮点的具体坐标的程序,在获取白色亮点坐标这一块的程序编纂的时候遇到了问题,下面的几条语句是什么意思,希望能给详细的解释一下,还有就是如何选取这个白色亮点的坐标?真的非常感谢!

------解决思路----------------------
代码的意思容易理解:
逐行获取位图每个像素的颜色值,然后输出像素坐标和颜色的RGB值到文件。
你说的“选取”是什么意思?在哪选取?
无论怎么选取,首先要判断出白色的点,纯白色的RGB值为R=255,G=255,B=255
------解决思路----------------------
仅供参考:
这是一个获取一张黑色图片上一个白色亮点的具体坐标的程序,在获取白色亮点坐标这一块的程序编纂的时候遇到了问题,下面的几条语句是什么意思,希望能给详细的解释一下,还有就是如何选取这个白色亮点的坐标?真的非常感谢!
------解决思路----------------------
代码的意思容易理解:
逐行获取位图每个像素的颜色值,然后输出像素坐标和颜色的RGB值到文件。
你说的“选取”是什么意思?在哪选取?
无论怎么选取,首先要判断出白色的点,纯白色的RGB值为R=255,G=255,B=255
------解决思路----------------------
仅供参考:
#include <iostream>
#include <fstream>
#include <string>
#include <windows.h>
#include <gdiplus.h>
#pragma comment(lib, "gdiplus.lib")
using namespace std;
using namespace Gdiplus;
int main() {
GdiplusStartupInput gdiplusstartupinput;
ULONG_PTR gdiplustoken;
GdiplusStartup(&gdiplustoken, &gdiplusstartupinput, NULL);
wstring infilename(L"1.jpg");
string outfilename("color.txt");
Bitmap* bmp = new Bitmap(infilename.c_str());
UINT height = bmp->GetHeight();
UINT width = bmp->GetWidth();
cout << "width " << width << ", height " << height << endl;
Color color;
ofstream fout(outfilename.c_str());
for (UINT y = 0; y < height; y++)
for (UINT x = 0; x < width ; x++) {
bmp->GetPixel(x, y, &color);
fout << x << "," << y << ";"
<< (int)color.GetRed() << ","
<< (int)color.GetGreen() << ","
<< (int)color.GetBlue() << endl;
}
fout.close();
delete bmp;
GdiplusShutdown(gdiplustoken);
return 0;
}