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

免费建手机商城网站吗怎么开一家网站开发公司

免费建手机商城网站吗,怎么开一家网站开发公司,wordpress调节宽度,wordpress分类目录查不到文章最近有个项目需要做视觉自动化处理的工具,最后选用的软件为python,刚好这个机会进行系统学习。短时间学习,需要快速开发,所以记录要点步骤,防止忘记。 链接: 开源 python 应用 开发(一&#xf…

最近有个项目需要做视觉自动化处理的工具,最后选用的软件为python,刚好这个机会进行系统学习。短时间学习,需要快速开发,所以记录要点步骤,防止忘记。

 链接:

开源 python 应用 开发(一)python、pip、pyAutogui、python opencv安装-CSDN博客

开源 python 应用 开发(二)基于pyautogui、open cv 视觉识别的工具自动化-CSDN博客

 推荐链接:

开源 Arkts 鸿蒙应用 开发(一)工程文件分析-CSDN博客

开源 Arkts 鸿蒙应用 开发(二)封装库.har制作和应用-CSDN博客

开源 Arkts 鸿蒙应用 开发(三)Arkts的介绍-CSDN博客

开源 Arkts 鸿蒙应用 开发(四)布局和常用控件-CSDN博客

开源 Arkts 鸿蒙应用 开发(五)控件组成和复杂控件-CSDN博客

 推荐链接:

开源 java android app 开发(一)开发环境的搭建-CSDN博客

开源 java android app 开发(二)工程文件结构-CSDN博客

开源 java android app 开发(三)GUI界面布局和常用组件-CSDN博客

开源 java android app 开发(四)GUI界面重要组件-CSDN博客

开源 java android app 开发(五)文件和数据库存储-CSDN博客

开源 java android app 开发(六)多媒体使用-CSDN博客

开源 java android app 开发(七)通讯之Tcp和Http-CSDN博客

开源 java android app 开发(八)通讯之Mqtt和Ble-CSDN博客

开源 java android app 开发(九)后台之线程和服务-CSDN博客

开源 java android app 开发(十)广播机制-CSDN博客

开源 java android app 开发(十一)调试、发布-CSDN博客

开源 java android app 开发(十二)封库.aar-CSDN博客

推荐链接:

开源C# .net mvc 开发(一)WEB搭建_c#部署web程序-CSDN博客

开源 C# .net mvc 开发(二)网站快速搭建_c#网站开发-CSDN博客

开源 C# .net mvc 开发(三)WEB内外网访问(VS发布、IIS配置网站、花生壳外网穿刺访问)_c# mvc 域名下不可訪問內網,內網下可以訪問域名-CSDN博客

开源 C# .net mvc 开发(四)工程结构、页面提交以及显示_c#工程结构-CSDN博客

开源 C# .net mvc 开发(五)常用代码快速开发_c# mvc开发-CSDN博客

本章节内容如下:芯片的固件经常需要生成加密文件,进行次数的限制,人工操作比较复杂。通过使用pyAutogui和 open cv的库,通过截取图片,实现的软件的打开,选择文件,配置芯片参数,生成加密下载软件的功能。

1.  软件的流程和截图

2.  程序代码

一、软件的流程和截图

工具的自动化实际就是软件模拟人工,查看屏幕进行手动鼠标和键盘的操作。屏幕是个输入信号,通过截取图片获取。鼠标和键盘是个输出信号,通过小图片在大图片中的比对,获得位置,输出点击等动作,实现人工的模拟。

1.1  比如程序启动,会先截取全屏。

1.2  然后通过cms.png这个图片,与全屏截图进行比对,获取cms图片在全屏图片中的位置。

1.3  最后控制鼠标移动到,cms writer.exe的位置 点击该位置,打开软件。

二、程序代码

2.1  截取全屏代码

# 1. 打开CMS Writer并加载hex文件screenshot = pyautogui.screenshot()screenshot.save("screenshot.png")

2.2  定位图片和鼠标双击函数代码

def locate_and_dbclick(image, confidence=0.8, region=None, description=""):"""查找图片并双击"""image = os.path.join("D:/python/3510C_Writer", image)try:location = pyautogui.locateOnScreen(image, confidence=confidence, region=region)if location:print(f"找到{description}按钮位置:", location)center = pyautogui.center(location)pyautogui.moveTo(center.x, center.y, duration=0.3)pyautogui.doubleClick()print(f"双击{description}成功!")return Trueelse:print(f"未找到{image},请检查图片是否可见")return Falseexcept Exception as e:print(f"操作{description}发生错误:", e)return False        

2.3  定位图片和单机图片代码

def locate_and_click(image, confidence=0.8, region=None, description=""):"""查找图片并单击"""image = os.path.join("D:/python/3510C_Writer", image)try:location = pyautogui.locateOnScreen(image, confidence=confidence, region=region)if location:print(f"找到{description}按钮位置:", location)center = pyautogui.center(location)pyautogui.moveTo(center.x, center.y, duration=0.3)pyautogui.click()print(f"点击{description}成功!")return Trueelse:print(f"未找到{image},请检查图片是否可见")return Falseexcept Exception as e:print(f"操作{description}发生错误:", e)return False

2.4  程序所有代码

最终代码:

import pyautogui
import time
import os
import argparsefrom pathlib import Path
#python para.py --hex_file CMS6990_TESTV1 --flash_count 20 --serial_number 23452686
def parse_arguments():"""解析命令行参数"""parser = argparse.ArgumentParser(description='CMS Writer自动化脚本')parser.add_argument('--hex_file', default='CMS6990_TESTV1', help='要加载的.hex文件路径')parser.add_argument('--flash_count', default='2', help='闪存次数')parser.add_argument('--serial_number', default='23452686', help='序列号')parser.add_argument('--output_name', default='flash', help='输出文件名')return parser.parse_args()def delete_flash_exe():"""删除 flash.exe 文件"""file_path = os.path.join("D:/python/3510C_Writer", "flash.exe")   # file_path = r"flash.exe"try:if os.path.exists(file_path):os.remove(file_path)print("成功删除 flash.exe 文件")else:print("未找到 flash.exe 文件")except Exception as e:print(f"删除文件失败: {e}")def close_writer():"""关闭 CMS Writer"""try:os.system("taskkill /f /im \"cms writer.exe\"")print("已关闭 CMS Writer")except Exception as e:print(f"关闭 CMS Writer 失败: {e}")def locate_and_dbclick(image, confidence=0.8, region=None, description=""):"""查找图片并双击"""image = os.path.join("D:/python/3510C_Writer", image)try:location = pyautogui.locateOnScreen(image, confidence=confidence, region=region)if location:print(f"找到{description}按钮位置:", location)center = pyautogui.center(location)pyautogui.moveTo(center.x, center.y, duration=0.3)pyautogui.doubleClick()print(f"双击{description}成功!")return Trueelse:print(f"未找到{image},请检查图片是否可见")return Falseexcept Exception as e:print(f"操作{description}发生错误:", e)return False        def locate_and_click(image, confidence=0.8, region=None, description=""):"""查找图片并单击"""image = os.path.join("D:/python/3510C_Writer", image)try:location = pyautogui.locateOnScreen(image, confidence=confidence, region=region)if location:print(f"找到{description}按钮位置:", location)center = pyautogui.center(location)pyautogui.moveTo(center.x, center.y, duration=0.3)pyautogui.click()print(f"点击{description}成功!")return Trueelse:print(f"未找到{image},请检查图片是否可见")return Falseexcept Exception as e:print(f"操作{description}发生错误:", e)return Falsedef main():args = parse_arguments()# 删除flash.exe文件delete_flash_exe()time.sleep(1)# 1. 打开CMS Writer并加载hex文件screenshot = pyautogui.screenshot()screenshot.save("screenshot.png")if not locate_and_dbclick('cms.png', description="CMS Writer"):close_writer()return Falsetime.sleep(1)if not locate_and_click('start.png', description="打开"):close_writer()return Falsetime.sleep(1)if not locate_and_click('open.png', description="打开"):close_writer()return Falsetime.sleep(1)pyautogui.write(args.hex_file)print(f"写入文件名 {args.hex_file} 成功!")time.sleep(1)if not locate_and_click('openfile.png', description="打开文件"):close_writer()return False# 2. 选择芯片型号time.sleep(1)if not locate_and_click('chip.png', description="芯片"):close_writer()return Falsetime.sleep(1)if not locate_and_click('chipselect.png', description="芯片选择"):close_writer()return Falsetime.sleep(1)pyautogui.write('3510C')print("写入芯片名成功!")time.sleep(1)if not locate_and_click('3510c.png', description="3510C"):close_writer()return Falsetime.sleep(1)if not locate_and_click('protectrom.png', description="保护ROM"):close_writer()return Falsetime.sleep(1)if not locate_and_click('protectromenable.png', description="启用保护"):close_writer()return False# 3. 设置HSI频率max_scrolls = 10scroll_amount = -150print("开始滚动查找HSI_FS...")pyautogui.scroll(scroll_amount)time.sleep(0.5)if not locate_and_click('HSI_FS.png', confidence=0.9, description="HSI_FS"):close_writer()return Falsetime.sleep(1)if not locate_and_click('Fhsi_2.png', confidence=0.99, description="Fhsi_2"):close_writer()return Falsetime.sleep(1)if not locate_and_click('chip_confirm.png', description="芯片确认"):close_writer()return Falsetime.sleep(0.1)# 4. 文件加密设置time.sleep(1)if not locate_and_click('menu_file.png', description="文件菜单"):close_writer()return Falsetime.sleep(1)if not locate_and_click('menu_encript.png', description="加密菜单"):close_writer()return Falsetime.sleep(1)pyautogui.write(args.output_name)print(f"写入文件名 {args.output_name} 成功!")time.sleep(1)if not locate_and_click('dlg_fileencript_save.png', description="保存加密"):close_writer()return Falsetime.sleep(1)pyautogui.write(str(args.flash_count))print(f"写入次数 {args.flash_count} 成功!")time.sleep(1)if not locate_and_click('dlg_flashnum.png', description="序列号"):close_writer()return Falsetime.sleep(1)pyautogui.write(args.serial_number)print(f"写入序列号 {args.serial_number} 成功!")time.sleep(1)if not locate_and_click('chip_confirm.png', description="最终确认"):close_writer()return Falsetime.sleep(0.1)# 所有步骤成功完成close_writer()return Trueif __name__ == "__main__":if main():print("程序执行成功!")else:print("程序执行失败!")


文章转载自:

http://FV3dInF9.dmwbs.cn
http://ayeBUqhb.dmwbs.cn
http://Q9xSrh8A.dmwbs.cn
http://4Zq1M0gY.dmwbs.cn
http://NXioPTeP.dmwbs.cn
http://hfCVMPio.dmwbs.cn
http://NhkEZZmg.dmwbs.cn
http://4JpZEU8y.dmwbs.cn
http://DbQ9lCCw.dmwbs.cn
http://7PE09plw.dmwbs.cn
http://n0Uwf5Wb.dmwbs.cn
http://qQnh4MEY.dmwbs.cn
http://A8Uqr0vB.dmwbs.cn
http://JEB5hWob.dmwbs.cn
http://4bUxhlOz.dmwbs.cn
http://dhA8TpDo.dmwbs.cn
http://OmiM6NPi.dmwbs.cn
http://LXhDMbIP.dmwbs.cn
http://L9CgBimQ.dmwbs.cn
http://ltjgNWcx.dmwbs.cn
http://QrurUvKn.dmwbs.cn
http://sfD72Zgz.dmwbs.cn
http://ku1fXPmz.dmwbs.cn
http://RhhPh4e0.dmwbs.cn
http://wDJiIf3d.dmwbs.cn
http://vjaMyPKq.dmwbs.cn
http://CXJhh5Uv.dmwbs.cn
http://pUTKBrjh.dmwbs.cn
http://IR4QarSz.dmwbs.cn
http://xswvO5FU.dmwbs.cn
http://www.dtcms.com/wzjs/647007.html

相关文章:

  • 中国网站排名网小组网站建设方案书
  • 怎么做卡盟网站网站明确内容
  • 资源型网站建设 需要多大硬盘单纯做seo能否提升网站流量
  • 图书销售网站网页设计模板河北助手app下载
  • 淄博网站营销与推广成都哪里好玩好吃
  • 德阳做网站的互联网公司wordpress商城主体
  • 做考勤的网站wordpress管理员改为投稿者
  • 已有网站域名 怎么做网站新泰建设局网站
  • 网站如何管理游戏行业为啥30岁就要转行
  • 户外网站建设温江做网站
  • 最好的营销型网站网站建设国际深圳
  • 武昌做网站公司电话5173网站源码
  • 点击图片进入网站怎么做陕西省高速建设集团网站
  • 千野网站建设html制作网站的步骤
  • 吕梁市住房与城乡建设厅网站好用吗
  • 谢岗网站建设关于要求建设网站的请示
  • 网站建设顾问英语网站备案好弄吗
  • 郴州网站建设专业定制下列不属于网站建设规划
  • 网站建设制作免费咨询网站logo如何替换
  • 烟台市住房和城乡建设厅网站济宁网站建设多少钱
  • 咸阳学校网站建设价格几百块钱可以做网站吗
  • 个人网站建设教学视频百度云盘有关网站设计的书
  • 国内自建站网站流量统计分析的误区
  • 网站资源规划怎么写wordpress广告插件
  • 新网站推广最直接的方法自己怎么建立微网站
  • 网站的需求分析都有哪些内容职业生涯规划大赛官网报名
  • 市北区大型网站建设广州企业建站模板
  • 吴堡网站建设费用邯郸建设网站制作
  • 福鼎手机网站建设wordpress 分享到插件
  • 发布文章后马上更新网站主页网站开发服务器种类