gpt4 book ai didi

winapi - 使用 OpenGL 或 DirectX 快速比较两张图片

转载 作者:行者123 更新时间:2023-12-04 18:21:01 25 4
gpt4 key购买 nike

我需要比较 2 张图片并找到与指定阈值不同的像素。
现在我只是在 for 循环中以编程方式进行操作,对于 600x400 的小图片大约需要 3 秒。
我想知道是否有办法使用 OpenGL、DirectX、CUDA 或类似的东西更快地做到这一点?所以它将使用 GPU 而不仅仅是 CPU。
请注意,在输出中我需要一个不同像素的数组,而不仅仅是 bool 值,这取决于它是否相同。

所以我在delphi中查看了源代码,它看起来像这样:

function TCanvas.GetPixel(X, Y: Integer): TColor;
begin
RequiredState([csHandleValid]);
GetPixel := Windows.GetPixel(FHandle, X, Y);
end;

似乎它每次都调用 WinAPI 函数 GetPixel() 。可能这就是它如此缓慢的原因。
所以现在我的问题是:有没有办法通过 WinAPI 获取整个像素数组?我正在使用具有 HBITMAP 的屏幕截图,因此将它与 WinAPI 一起使用不会有问题。

最佳答案

由于您使用的是 delphi ,因此您可以将图像加载到 TBitmap然后使用 ScanLine 属性来快速访问位图的像素。

关于winapi - 使用 OpenGL 或 DirectX 快速比较两张图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10697556/

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