日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

封校大学生无聊玩起图像大找茬——游戏脚本(一起领略Python脚本的风采吧)

發布時間:2023/12/20 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 封校大学生无聊玩起图像大找茬——游戏脚本(一起领略Python脚本的风采吧) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

👦👦一個帥氣的boy,你可以叫我Love And Program
🖱 ?個人主頁:Love And Program的個人主頁
💖💖如果對你有幫助的話希望三連💨💨支持一下博主

圖像大找茬——游戲腳本項目地址

圖像大找茬

  • 前言
  • 基礎知識
  • 圖片找茬
  • 抓取句柄圖片
  • GUI界面搭建

前言

在一個月黑風高的夜晚,我的舍友小許搖起我來,面色驚恐地說道:“快來幫我,我要不行了o(╥﹏╥)o”。我連忙起身,問到他你怎么了,他把我拉到他電腦面前,一臉凝重的說道:這兩張圖片我找不出第五個不同的地方。我上來...就給他個大B兜,睡覺。凄凄慘慘戚戚,獨留一人守空房...


基礎知識

  • 首先我們要想分清兩種圖片的不同就要想起它——灰度圖。
  • 其次我們找到一個可以獲取不同頁面句柄的庫實時截取圖片(這里不采用抓包)
  • PyQt5設計頁面
  • 圖片找茬

    原圖:

    ????????灰度圖使用skimage庫可以輕松解決pip install scikit-image,同時安裝pip install opencv-python以顯示圖片。

    imageA = cv2.imread("./first.png") imageB = cv2.imread("./second.png") grayA = cv2.cvtColor(imageA, cv2.COLOR_BGR2GRAY) grayB = cv2.cvtColor(imageB, cv2.COLOR_BGR2GRAY)

    擴展:用到了SSIM原理,也可以叫他結構相似性指數,是一種衡量兩幅圖像相似度的指標。

    #調用ssim函數 from skimage.metrics import structural_similarity #返回三個值 mssim, grad , S = structural_similarity(grayA, grayB, gradient=True,full=True) ''' mssim:float 圖像上的平均結構相似性指數。grad:ndarray im1 和 im2 [2]之間結構相似性的梯度。這僅在梯度設置為 True 時返回。S:ndarray 完整的 SSIM 圖像。這僅在full設置為 True 時返回。 ''' 可以打印mssim數值觀察ssim指數,此指數越高說明越相似 但是需要注意的是 SSIM返回的ndarray里面的值為[0, 1]的float型,而OpenCV的[0, 255]為uint8型,用如下轉換: grad= (grad* 255).astype("uint8")

    grad對應圖片:

    然后用cv2中圖像閾值處理threshold函數去尋找輪廓,然后用imutils.grab_contours返回cnts中的countors(輪廓),然后用cv2.boundingRect獲取邊界框位置,直接用cv2.rectangle畫出方框

    thresh = cv2.threshold(S, 0, 255,cv2.THRESH_BINARY_INV | cv2.THRESH_OTSU)[1] cnts = imutils.grab_contours(cnts)

    threshold函數尋找到的輪廓:

    for c in cnts:#獲取邊界框位置(x, y, w, h) = cv2.boundingRect(c)cv2.rectangle(imageA, (x, y), (x + w, y + h), (0, 0, 255), thickness = 4)cv2.rectangle(imageB, (x, y), (x + w, y + h), (0, 0, 255), thickness = 4)

    最后打印圖片保存即可。
    源碼:

    #Image_Comparefrom skimage.metrics import structural_similarity import imutils import cv2 import argparse def Make_picture() -> object:parser = argparse.ArgumentParser(description="查找茬圖像輸入")parser.add_argument("-f","--first",default=False,help="first image")parser.add_argument("-s","--second",help="first image")args = vars(parser.parse_args())imageA = cv2.imread("./first.png")imageB = cv2.imread("./second.png")#灰度圖grayA = cv2.cvtColor(imageA, cv2.COLOR_BGR2GRAY)grayB = cv2.cvtColor(imageB, cv2.COLOR_BGR2GRAY)#計算兩幅圖像之間的結構相似性指數(SSIM),確保返回差異圖像(mssim, grad ,S) = structural_similarity(grayA, grayB, full=True,gradient=True)S = (S * 255).astype("uint8")thresh = cv2.threshold(S, 0, 255,cv2.THRESH_BINARY_INV | cv2.THRESH_OTSU)[1]cnts = cv2.findContours(thresh.copy(), cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)cnts = imutils.grab_contours(cnts)for c in cnts:(x, y, w, h) = cv2.boundingRect(c)cv2.rectangle(imageA, (x, y), (x + w, y + h), (0, 0, 255), thickness = 4)cv2.rectangle(imageB, (x, y), (x + w, y + h), (0, 0, 255), thickness = 4)cv2.waitKey(0)cv2.imwrite(filename="Find_Different.png", img=imageB) #測試時解開注釋 #Make_picture()

    抓取句柄圖片

    需要安裝pip install pywin32,這個庫可以完成根據自己電腦打開的程序抓取所需句柄(也就是已經打開的任意程序)
    具體操作:打開qq游戲大廳中的大家來找茬小游戲,咳咳,找個座位坐下,進入游戲前點開程序,然后開始游戲后點擊開始!!開始檢測!!!十圖場亂殺!!!!!

    #PyQt5_catchWindows.py import win32gui from PyQt5.QtWidgets import QApplication from PyQt5.QtGui import * import sys from Image_Compare import Make_picture from PIL import Image # 導入PIL庫 import win32con hwnd_title = dict() def get_all_hwnd(hwnd,mouse):if win32gui.IsWindow(hwnd) and win32gui.IsWindowEnabled(hwnd) and win32gui.IsWindowVisible(hwnd):hwnd_title.update({hwnd: win32gui.GetWindowText(hwnd)})hwnd_title.update({hwnd:win32gui.GetWindowText(hwnd)})win32gui.EnableWindow(hwnd,True)#print(win32gui.IsWindow(hwnd)) def Get_Windows(): #通過將句柄依次傳遞給應用程序定義的回調函數,枚舉屏幕上的所有頂級窗口。win32gui.EnumWindows(get_all_hwnd, 0)for h,t in hwnd_title.items():if t != '':print(h,t)if t == '大家來找茬':hwnd = win32gui.FindWindow(None, t)#返回屏幕坐標中窗口的矩形b = win32gui.GetWindowRect(hwnd)screen = QApplication.primaryScreen()img1 = screen.grabWindow(hwnd,549,311,383,288).toImage()img1.save("first.png", "png")img2 = screen.grabWindow(hwnd, 92, 311, 383, 288).toImage()img2.save("second.png", "png")clsname = win32gui.GetClassName(hwnd)title = win32gui.GetWindowText(hwnd)return img1,img2#print(clsname, title) def Start():img1,img2 = Get_Windows()Make_picture()

    GUI界面搭建

    按上述操作完成后打開界面如下

    #Pyqt_UI.py import sys from PyQt5 import QtWidgets, QtCore, QtGui from PyQt5.QtWidgets import * from PyQt5.QtCore import * import PyQt5_catchWindows class picture(QWidget):def __init__(self):super(picture, self).__init__()self.setWindowTitle("顯示圖片")self.label = QLabel(self)self.label.setText("生成圖像框")self.label.setFixedSize(383,288)self.label.move(10, 10)self.label.setStyleSheet("QLabel{background:white;}""QLabel{color:rgb(300,300,300,120);""font-size:70px;font-weight:bold;""font-family:黑體;}")btn = QPushButton(self)btn.setText("開始檢測")print(1)btn.move(160, 330)btn.clicked.connect(self.openimage)def openimage(self):PyQt5_catchWindows.Start()imgName = "Find_Different.png"jpg = QtGui.QPixmap(imgName).scaled(self.label.width(), self.label.height())self.label.setPixmap(jpg)if __name__ == "__main__":app = QtWidgets.QApplication(sys.argv)my = picture()my.show()sys.exit(app.exec_())

    純純輔助神器,喜歡的朋友們可以去玩一玩哦😘😘求一鍵三連。

    項目地址

    總結

    以上是生活随笔為你收集整理的封校大学生无聊玩起图像大找茬——游戏脚本(一起领略Python脚本的风采吧)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 国产黄色录像 | 久久αv | 双性尿奴穿贞c带憋尿 | 成年人性生活免费视频 | 美女免费黄视频 | 一区二区三区四区日韩 | 91爱爱网站| 日日噜 | 噜噜色图| 亚洲黄色天堂 | 天天久久| 免费在线观看成人av | 草逼免费视频 | 99久久99| 国产精品熟女视频 | 一区二区三区啪啪啪 | 欧美三级一区 | 免费在线看a | 丁香激情五月少妇 | 日韩欧美在线观看一区二区 | 日本a在线播放 | 久久久www免费人成人片 | 欧洲视频一区 | 暖暖日本在线视频 | 伊人啪啪网| 伊人久久一区二区三区 | 草色网 | www.色婷婷 | 亚洲作爱视频 | 超碰66| 久91| 77久久 | 国产精选中文字幕 | 爱情岛论坛av | 夜夜看 | 国产毛片一区二区三区va在线 | 最新久久久 | 伊人亚洲| 奇米视频在线观看 | 久久国产一级 | 视频一区二区在线观看 | 丰满的女人性猛交 | 胸网站 | 免费精品久久 | 9久9久9久女女女九九九一九 | 亚洲另类色综合网站 | 国产精品亚洲专区无码牛牛 | 中文字幕精品视频在线 | 成年女人免费视频 | 特黄特色大片免费视频大全 | 国产成人a亚洲精v品无码 | 91丨porny丨露出| 国产色91| 久久午夜无码鲁丝片午夜精品 | 亚洲无码国产精品 | 孕妇毛片 | 91你懂的 | 成人网免费看 | 欧美日韩在线视频观看 | 中文字幕狠狠 | 日本www在线观看 | 特黄特色特刺激免费播放 | 亚洲一卡二卡三卡四卡 | 国产精品第一页在线观看 | 日本欧美一区 | 91av亚洲| 中国一及毛片 | 熟妇毛片 | 亚洲精品.www | 91天天综合 | 69xx网站 | 粉嫩一区二区三区 | 国产人妻精品一区二区三区 | 大肉大捧一进一出好爽 | 亚洲欧美不卡 | 奇米色播| 男男gay同性三级 | 在线免费你懂的 | 国产精品福利在线播放 | 久久久久夜| 中文在线观看免费 | 激情内射人妻1区2区3区 | 久国产精品 | 日本亚洲免费 | 97视频成人 | 成人在线观看一区二区 | 午夜久久久久久久久久久 | 99色99| 波多野结衣大片 | 美女张开腿露出尿口 | 欧美成人乱码一二三四区免费 | 青青伊人久久 | 欧美日韩高清一区二区三区 | 岛国av毛片 | 亚洲黄色在线观看视频 | 啪啪视屏 | 久久依人 | 韩国福利一区 | 麻豆视频入口 |