当前位置: 首页 > news >正文

jsp企业网站开发前期报告国家重点建设裤网站

jsp企业网站开发前期报告,国家重点建设裤网站,在线设计网站免费,口碑营销公司大家好#xff0c;我是小黄。 近期#xff0c;众多大学生炸鱼小猿口算APP,把一众小学生都快虐哭了#xff0c;小黄听闻后#xff0c;也跃跃欲试。对此小黄也参考网上的资料写了一个自动Pk的脚步。 首先大家需要安装一个pytorch环境过程中#xff0c;如果小伙伴对此不熟悉的…大家好我是小黄。 近期众多大学生炸鱼小猿口算APP,把一众小学生都快虐哭了小黄听闻后也跃跃欲试。对此小黄也参考网上的资料写了一个自动Pk的脚步。 首先大家需要安装一个pytorch环境过程中如果小伙伴对此不熟悉的话可以参考网上的相关教程。 我们需要用到Tesseract-OCR文本识别​。他的原理就是先截图之后框选出比较大小的两个数字所在的区域使用Tesseract-OCR识别出来后进行判断最后模拟鼠标绘制出,,号就​可以了。 Tesseract-OCR​下载地址 https://github.com/tesseract-ocr/tesseract这个需要科学上网​不会科学上网的小伙伴可以关注小黄的公众号回复小猿口算关键字获取。 脚本代码 import cv2 import pytesseract import numpy as np import re import pyautogui import time import threading from threading import Thread, Lock import pynput from pynput.mouse import Controller, Button from pynput.keyboard import Listener# 如果 Tesseract 没有在环境变量中设置 Tesseract 可执行文件的路径 pytesseract.pytesseract.tesseract_cmd rD:\Program Files\Tesseract-OCR\tesseract.exe# 初始化鼠标控制器 mouse Controller()# 定义绘图函数并限制在0.1秒左右完成 def draw_symbol(symbol):start_time time.time() # 记录开始时间screen_width, screen_height pyautogui.size()x int(screen_width * 0.28) # 水平居中y draw_y 200 # 使用新的 y 坐标duration 0.1 # 每条线的持续时间设定为 0.1 秒以保持绘制时间print(f当前鼠标位置: ({x}, {y}))mouse.position (x, y) # 将鼠标移动到起始位置mouse.press(Button.left)if symbol :# 绘制 符号mouse.move(screen_width * 0.03, screen_height * 0.03) # 右下斜线缩短time.sleep(duration)# 增加转弯处的形状mouse.move(screen_width * 0.01, 0) # 横向移动time.sleep(duration)mouse.move(0, screen_height * 0.15) # 右上斜线缩短time.sleep(duration)elif symbol :# 绘制 符号mouse.move(-screen_width * 0.03, screen_height * 0.03) # 左下斜线缩短time.sleep(duration)# 增加转弯处的形状mouse.move(-screen_width * 0.01, 0) # 横向移动time.sleep(duration)mouse.move(0, -screen_height * 0.09) # 左上斜线缩短time.sleep(duration)elif symbol :# 绘制 符号mouse.move(-screen_width * 0.02, 0) # 向左移动一点mouse.release(Button.left)mouse.press(Button.left)mouse.move(screen_width * 0.03, 0) # 第一条横线缩短time.sleep(duration)mouse.release(Button.left)mouse.position (x - screen_width * 0.02, y screen_height * 0.02) # 向下移动一点mouse.press(Button.left)mouse.move(screen_width * 0.03, 0) # 第二条横线缩短time.sleep(duration)mouse.release(Button.left)else:print(无法绘制该符号)mouse.release(Button.left) # 确保释放鼠标按键end_time time.time() # 记录结束时间print(f绘图 {symbol} 完成耗时: {end_time - start_time:.4f} 秒)# 全局变量 running False # 标志变量控制任务的运行 lock Lock() # 定义锁 draw_y 970 100 # ROI 的底部加上 300 像素def process_questions():global runningi 0previous_result Noneprevious_numbers (None, None) # 新增用于存储前一题的数字stable_count 0stable_threshold 1 # 可以将阈值设为1因为我们已经检测题目变化while running:start_time time.time() # 开始时间# 获取屏幕截图screenshot_start_time time.time()image pyautogui.screenshot()image cv2.cvtColor(np.array(image), cv2.COLOR_RGB2BGR)screenshot_end_time time.time()print(f截图耗时: {screenshot_end_time - screenshot_start_time:.4f} 秒)# 提取需要识别的区域根据实际情况调整坐标roi image[850:970, 700:1200]# 图像预处理processing_start_time time.time()roi_gray cv2.cvtColor(roi, cv2.COLOR_BGR2GRAY)roi_contrast cv2.convertScaleAbs(roi_gray, alpha2.0, beta0) # 增强对比度roi_blur cv2.GaussianBlur(roi_contrast, (5, 5), 0)_, roi_thresh cv2.threshold(roi_blur, 0, 255, cv2.THRESH_BINARY cv2.THRESH_OTSU)processing_end_time time.time()print(f图像处理耗时: {processing_end_time - processing_start_time:.4f} 秒)# OCR 识别ocr_start_time time.time()custom_config r--oem 3 --psm 6roi_text pytesseract.image_to_string(roi_thresh, configcustom_config)ocr_end_time time.time()print(fOCR 识别耗时: {ocr_end_time - ocr_start_time:.4f} 秒)# 提取数字并判断大小matches re.findall(r\d, roi_text)if len(matches) 2:num1, num2 int(matches[0]), int(matches[1])print(f第{i 1}题识别到的数字{num1}, {num2})# 检查是否为新题目if (num1, num2) previous_numbers:print(检测到重复的题目跳过处理)else:# 更新前一题的数字previous_numbers (num1, num2)# 判断大小if num1 num2:result elif num1 num2:result else:result print(f判断结果{num1} {result} {num2})# 绘制符号draw_start_time time.time()# 启动绘图线程draw_thread Thread(targetdraw_symbol, args(result,))draw_thread.start()draw_thread.join() # 等待绘图完成draw_end_time time.time()time.sleep(0.1)print(f绘图耗时: {draw_end_time - draw_start_time:.4f} 秒)else:print(f第{i 1}题未能识别出足够的数字)# 等待一小段时间以确保下一题加载i 1end_time time.time()print(f第{i}题处理总耗时: {end_time - start_time:.4f} 秒\n)def toggle_running(key):global runningif key pynput.keyboard.Key.enter:if not running:running Trueprint(任务已启动)# 启动处理线程t threading.Thread(targetprocess_questions)t.start()else:running Falseprint(任务已停止)# 监听键盘输入 with Listener(on_presstoggle_running) as listener:listener.join() 我们需要注意的地方是这个参数由于屏幕大小不一样他可能需要微调所以小黄写了一测试的代码来看看是否框选正确​。 在这里插入代码片运行完之后参数对的话可以看到刚刚好可以看到框选的就是数字的​大小就是对的。 import cv2 import numpy as np import pyautogui ​ # 获取屏幕截图 image pyautogui.screenshot() image cv2.cvtColor(np.array(image), cv2.COLOR_RGB2BGR) ​ # 提取需要识别的区域调整 Y 轴范围 roi image[850:970, 700:1200] # 更新 ROI 的 Y 轴范围从 850 到 970 ​ # 在原图上绘制 ROI矩形的 Y 坐标也需要更新 cv2.rectangle(image, (700, 850), (1200, 970), (0, 255, 0), 2) # 绘制绿色矩形 ​ # 显示原图和 ROI cv2.imshow(Original Image, image) cv2.imshow(Region of Interest, roi) ​ cv2.waitKey(0) # 等待按键 cv2.destroyAllWindows() # 关闭所有窗口 ​OK完事具备​现在就有可以运行上面的代码了。我们看看具体效果。 由于时间比较仓储大家可以改改绘制,,号的位置感觉小黄的绘制得不是​很准确。​ 最后祝大家玩得愉快有问题请给我留言或私信。需要软件的小伙伴记得回复关键字小猿口算 不懂的小伙伴大家可以进群交流一下。
文章转载自:
http://www.morning.qdcpn.cn.gov.cn.qdcpn.cn
http://www.morning.plnry.cn.gov.cn.plnry.cn
http://www.morning.krklj.cn.gov.cn.krklj.cn
http://www.morning.pflpb.cn.gov.cn.pflpb.cn
http://www.morning.mjgxl.cn.gov.cn.mjgxl.cn
http://www.morning.chongzhanggui.cn.gov.cn.chongzhanggui.cn
http://www.morning.rkjz.cn.gov.cn.rkjz.cn
http://www.morning.smzr.cn.gov.cn.smzr.cn
http://www.morning.nynlf.cn.gov.cn.nynlf.cn
http://www.morning.pkdng.cn.gov.cn.pkdng.cn
http://www.morning.mlcnh.cn.gov.cn.mlcnh.cn
http://www.morning.cqwb25.cn.gov.cn.cqwb25.cn
http://www.morning.prgrh.cn.gov.cn.prgrh.cn
http://www.morning.ypxyl.cn.gov.cn.ypxyl.cn
http://www.morning.hsjfs.cn.gov.cn.hsjfs.cn
http://www.morning.rfwgg.cn.gov.cn.rfwgg.cn
http://www.morning.hmxrs.cn.gov.cn.hmxrs.cn
http://www.morning.kphyl.cn.gov.cn.kphyl.cn
http://www.morning.lfqtp.cn.gov.cn.lfqtp.cn
http://www.morning.lpcct.cn.gov.cn.lpcct.cn
http://www.morning.sfswj.cn.gov.cn.sfswj.cn
http://www.morning.gqfbh.cn.gov.cn.gqfbh.cn
http://www.morning.krbjb.cn.gov.cn.krbjb.cn
http://www.morning.lzbut.cn.gov.cn.lzbut.cn
http://www.morning.zpqk.cn.gov.cn.zpqk.cn
http://www.morning.bmtkp.cn.gov.cn.bmtkp.cn
http://www.morning.kxypt.cn.gov.cn.kxypt.cn
http://www.morning.spfh.cn.gov.cn.spfh.cn
http://www.morning.khzml.cn.gov.cn.khzml.cn
http://www.morning.xfhms.cn.gov.cn.xfhms.cn
http://www.morning.xdpjf.cn.gov.cn.xdpjf.cn
http://www.morning.nqyfm.cn.gov.cn.nqyfm.cn
http://www.morning.qwmsq.cn.gov.cn.qwmsq.cn
http://www.morning.prprj.cn.gov.cn.prprj.cn
http://www.morning.cxnyg.cn.gov.cn.cxnyg.cn
http://www.morning.tjwlp.cn.gov.cn.tjwlp.cn
http://www.morning.kzslk.cn.gov.cn.kzslk.cn
http://www.morning.slmbg.cn.gov.cn.slmbg.cn
http://www.morning.bryyb.cn.gov.cn.bryyb.cn
http://www.morning.qjxkx.cn.gov.cn.qjxkx.cn
http://www.morning.pqxjq.cn.gov.cn.pqxjq.cn
http://www.morning.rkjz.cn.gov.cn.rkjz.cn
http://www.morning.mjtgt.cn.gov.cn.mjtgt.cn
http://www.morning.hwnqg.cn.gov.cn.hwnqg.cn
http://www.morning.pmdlk.cn.gov.cn.pmdlk.cn
http://www.morning.trhlb.cn.gov.cn.trhlb.cn
http://www.morning.sglcg.cn.gov.cn.sglcg.cn
http://www.morning.xkzmz.cn.gov.cn.xkzmz.cn
http://www.morning.yfnhg.cn.gov.cn.yfnhg.cn
http://www.morning.ctxt.cn.gov.cn.ctxt.cn
http://www.morning.xckdn.cn.gov.cn.xckdn.cn
http://www.morning.qmbtn.cn.gov.cn.qmbtn.cn
http://www.morning.nbmyg.cn.gov.cn.nbmyg.cn
http://www.morning.qlhkx.cn.gov.cn.qlhkx.cn
http://www.morning.lczxm.cn.gov.cn.lczxm.cn
http://www.morning.ctqlq.cn.gov.cn.ctqlq.cn
http://www.morning.fppzc.cn.gov.cn.fppzc.cn
http://www.morning.yqpck.cn.gov.cn.yqpck.cn
http://www.morning.jlmrx.cn.gov.cn.jlmrx.cn
http://www.morning.jhrlk.cn.gov.cn.jhrlk.cn
http://www.morning.ryglh.cn.gov.cn.ryglh.cn
http://www.morning.txrq.cn.gov.cn.txrq.cn
http://www.morning.tlpgp.cn.gov.cn.tlpgp.cn
http://www.morning.trqzk.cn.gov.cn.trqzk.cn
http://www.morning.ysqb.cn.gov.cn.ysqb.cn
http://www.morning.fjgwg.cn.gov.cn.fjgwg.cn
http://www.morning.ttvtv.cn.gov.cn.ttvtv.cn
http://www.morning.tnjff.cn.gov.cn.tnjff.cn
http://www.morning.pmmrb.cn.gov.cn.pmmrb.cn
http://www.morning.mlyq.cn.gov.cn.mlyq.cn
http://www.morning.czgtt.cn.gov.cn.czgtt.cn
http://www.morning.bbrf.cn.gov.cn.bbrf.cn
http://www.morning.ngkng.cn.gov.cn.ngkng.cn
http://www.morning.rttxx.cn.gov.cn.rttxx.cn
http://www.morning.bhmnp.cn.gov.cn.bhmnp.cn
http://www.morning.ryspp.cn.gov.cn.ryspp.cn
http://www.morning.pumali.com.gov.cn.pumali.com
http://www.morning.mslhq.cn.gov.cn.mslhq.cn
http://www.morning.zympx.cn.gov.cn.zympx.cn
http://www.morning.rqxhp.cn.gov.cn.rqxhp.cn
http://www.tj-hxxt.cn/news/240125.html

相关文章:

  • 泉州网站设计招聘网wordpress离线写文章
  • 抚州市网站建设网站后台更新 前台不显示
  • 如何做一个企业的网站网站维护 关站 seo
  • 青岛中小微企业互联网站建设补贴保险设计素材网站
  • 自己做交易网站吗单肩包自定义页面设计模板
  • 个人网站模板psd临沂专业网站建设公司
  • 温州市城乡建设厅网站上行30m可以做网站吗
  • 安全邮箱注册网站开封网站推广公司
  • 公司 宜宾网站建设各类网站排名
  • 电商网站开发公司哪家好页面素材图片
  • 惠州市中国建设银行网站wordpress怎么清除缓存
  • 网站推广推广做信息图网站
  • 手机网站的静态页面西安千叶网站建设
  • 济南个人制作网站网络规划设计师工资
  • 做视频课程的网站有哪些wordpress标签链接优化
  • 国内漂亮大气的网站淘宝网站如何做虚拟
  • 洞泾网站建设网站文章内容页keyword设置
  • 网站正在建设升级商城网站栏目
  • 在互易上做的网站如何修改河南网站建设路
  • seo查询整站网页设计网站排行榜
  • 花生壳盒子做网站服务器wordpress文章保存图片不显示
  • 西安响应式网站建设公司怎样在网站上做链接
  • php网站开发视频网络公司取名字参考大全
  • 佛山网站建设公司价格多少学计算机能做什么工作
  • 做平面设计在那个网站上找图好桂林房价
  • 网站 实施wordpress手机双模板下载地址
  • 网页制作网站制作营销推广的形式包括
  • 北湖区网站建设公司wordpress页面添加照片
  • 中国十大搜索引擎排名最新大连网站优化方案
  • jsp免费建站系统做打折网站如何