# 获取窗口位置 left, top, right, bottom = win32gui.GetWindowRect(hwnd) width = right - left height = bottom - top # 创建DC对象 hwndDC = win32gui.GetWindowDC(hwnd) mfcDC = win32ui.CreateDCFromHandle(hwndDC) saveDC = mfcDC.CreateCompatibleDC() # 创建位图对象 saveBitMap = win32ui.CreateBitmap() saveBitMap.CreateCompatibleBitmap(mfcDC, width, height) # 将位图选入DC对象 saveDC.SelectObject(saveBitMap) # 截屏 saveDC.BitBlt((0, 0), (width, height), mfcDC, (0, 0), win32con.SRCCOPY) # 获取位图数据 bmpinfo = saveBitMap.GetInfo() bmpstr = saveBitMap.GetBitmapBits(True) # 将位图数据转换为numpy数组 img = np.frombuffer(bmpstr, dtype='uint8') img.shape = (bmpinfo['bmHeight'], bmpinfo['bmWidth'], 4) cv2.imwrite('1.bmp', img) # 释放资源 win32gui.DeleteObject(saveBitMap.GetHandle()) saveDC.DeleteDC() mfcDC.DeleteDC() win32gui.ReleaseDC(hwnd, hwndDC) # 返回截屏结果 return img 返回的结果 怎么对比
时间: 2024-02-10 10:15:28 浏览: 116
如果你要对比两张图片是否相同,可以使用OpenCV库中的`cv2.imread()`函数读取两张图片,然后使用`cv2.imshow()`函数查看它们的视觉效果,最后使用`cv2.absdiff()`函数计算两张图片的差异,并可以使用`cv2.threshold()`函数对差异图进行二值化处理,便于观察。示例代码如下:
```
import cv2
import numpy as np
# 读取两张图片
img1 = cv2.imread('1.bmp')
img2 = cv2.imread('2.bmp')
# 显示两张图片
cv2.imshow('img1', img1)
cv2.imshow('img2', img2)
# 计算两张图片的差异
diff = cv2.absdiff(img1, img2)
# 对差异图进行二值化处理
_, thresh = cv2.threshold(diff, 30, 255, cv2.THRESH_BINARY)
# 显示差异图
cv2.imshow('diff', diff)
cv2.imshow('thresh', thresh)
# 等待按键
cv2.waitKey(0)
# 释放窗口
cv2.destroyAllWindows()
```
其中,`cv2.absdiff()`函数计算两张图片的差异,返回的是差异图像,即两张图片对应像素点差值的绝对值;`cv2.threshold()`函数对差异图进行二值化处理,返回的是二值化图像,即将差异图像中小于阈值的像素点设为0,大于等于阈值的像素点设为255。在这里,我们将阈值设为30。
阅读全文
相关推荐
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)