首页 文章 精选 留言 我的

精选列表

搜索[python],共10000篇文章
优秀的个人博客,低调大师

用 Python 从零开始玩微信跳一跳

现在,参照外挂项目的源码,我们就从零开始来自己动手写一个手动版本的跳一跳外挂。 思路: 1、利用 adb 命令先把跳一跳截图保留至本地 2、通过点击图上两个坐标点,算出两点之间的距离(勾股定理),最后得出按压屏幕3的时间。 3、通过 adb 命令执行按压屏幕操作 4、重复 1 - 3 思路已经有了,就可以动手开码了。不过要先安装好 adb 环境,至于怎么配置安装,Google it!无非就是下载安装 adb 驱动,并设置好环境变量而已! 先把后面需要的库引进来 import os import math # 这两个库用于图片的操作 import matplotlib.pyplot as plt from PIL import Image 新建 WechatJump 类,并进行初始化操作 class WechatJum

优秀的个人博客,低调大师

Python机器学习算法入门之简单感知器学习算法

问题背景 考虑一个问题:现在我们有一些过往核发信用卡的资料,包括用户个人信息和审核结果。根据这些资料,我们希望预测能不能给下一个用户发信用卡。用户基本信息如下: 这些基本信息组成了一个向量。不同的信息有不同的权重,设权重向量。我们希望构造一个函数来给用户的信用打分,并且,如果信用分超过了某个阈值,我们就认为这个客户是可靠的,可以给他发信用卡: 能发: 不能: 通过阶跃函数,进一步将这个过程函数化: 所以,当,通过;当,拒绝;当,忽略。 其中: 整理该方程如下: 具体到二维空间 简化上面的问题,假设用户只有两个属性,就可以用二维空间的一个点来表示一个用户。如下所示,蓝圈表示通过,红叉表示拒绝。注意到直线的两边,一边大于0,一边小于0,也就是一边都是蓝圈,一边都是红叉。所以现在的目标就是,找到一条直线,可以将已知的蓝圈和红叉完美区分开。 基础知识回顾 简

优秀的个人博客,低调大师

Python机器学习算法入门之梯度下降法实现线性回归

1. 背景 文章的背景取自An Introduction to Gradient Descent and Linear Regression,本文想在该文章的基础上,完整地描述线性回归算法。部分数据和图片取自该文章。没有太多时间抠细节,所以难免有什么缺漏错误之处,望指正。 线性回归的目标很简单,就是用一条线,来拟合这些点,并且使得点集与拟合函数间的误差最小。如果这个函数曲线是一条直线,那就被称为线性回归,如果曲线是一条二次曲线,就被称为二次回归。数据来自于GradientDescentExample中的data.csv文件,共100个数据点,如下图所示: 我们的目标是用一条直线来拟合这些点。既然是二维,那么y=b+mx这个公式相信对于中国学生都很熟悉。其中b是直线在y轴的截距(y-intercept),m是直线的斜率(slope)

优秀的个人博客,低调大师

Python爬虫一步步抓取房产信息

嗯,这一篇文章更多是想分享一下我的网页分析方法。玩爬虫也快有一年了,基本代码熟悉之后,我感觉写一个爬虫最有意思的莫过于研究其网页背后的加载过程了,也就是分析过程,对性能没有特殊要求的情况下,编程一般是小事。 以深圳地区的X房网为例吧。XX房网的主页非常简洁,输入相应的地区就可以找到对应的二手房或者一手房。这一篇文章主要就给大家介绍我在做XX房网爬虫的分析过程。 注意:本文采用Chrome作为分析加载工作,如果使用其他浏览器,请参考具体的规则。 首先想到的 嗯,你首先要跳出编程,从使用者甚至是产品经理的角度去思考:在浏览这个页面的时候,如何就能看到全市的二手房的情况。通过主页的一个区一个区的输入,搜索,然后将页面的单元下载,嗯这是一个方法。 南山区首页的情况 如上图所示,只要更改keyword后面的参数,就可以获得不同区的二手房数据。编程的时

优秀的个人博客,低调大师

GAFT:一个使用Python实现的遗传算法框架

前言 最近需要用到遗传算法来优化一些东西,最初是打算直接基于某些算法实现一个简单的函数来优化,但是感觉单纯写个非通用的函数运行后期改进算子或者别人使用起来都会带来困难,同时遗传算法基本概念和运行流程相对固定,改进也一般通过编码机制,选择策略,交叉变异算子以及参数设计等方面,对于算法的整体结构并没有大的影响。这样对于遗传算法来说,就非常适合写个相对固定的框架然后给算子、参数等留出空间以便对新算法进行测试和改进。于是就动手写了个遗传算法的小框架gaft,本文对此框架进行一些介绍并分别以一个一维搜索和二维搜索为例子对使用方法进行了介绍。 目前框架只是完成了最初的版本,比较简陋,内置了几个基本的常用算子,使用者可以根据接口规则实现自定义的算子并放入框架中运行。我自己也会根据自己的需求后续添加更多的改进算子,同时改进框架使其更加通用. 正文 遗传算

优秀的个人博客,低调大师

Python-OpenCV学习(十一)分水岭算法进行图像分割

分水岭算法进行图像分割:分水岭分割方法,是一种基于拓扑理论的数学形态学的分割方法,其基本思想是把图像看作是测地学上的拓扑地貌,图像中每一点像素的灰度值表示该点的海拔高度,每一个局部极小值及其影响区域称为集水盆,而集水盆的边界则形成分水岭。分水岭的概念和形成可以通过模拟浸入过程来说明。在每一个局部极小值表面,刺穿一个小孔,然后把整个模型慢慢浸入水中,随着浸入的加深,每一个局部极小值的影响域慢慢向外扩展,在两个集水盆汇合处构筑大坝,即形成分水岭。例子: import numpy as np import cv2 from matplotlib import pyplot as plt img = cv2.imread('basil.jpg') gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) ret, thresh = cv2.threshold(gray,0,255,cv2.THRESH_BINARY_INV+cv2.THRESH_OTSU) # noise removal kernel = np.ones((3,3),np.uint8) opening = cv2.morphologyEx(thresh,cv2.MORPH_OPEN,kernel, iterations = 2) # sure background area sure_bg = cv2.dilate(opening,kernel,iterations=3) # Finding sure foreground area dist_transform = cv2.distanceTransform(opening,cv2.DIST_L2,5) ret, sure_fg = cv2.threshold(dist_transform,0.7*dist_transform.max(),255,0) # Finding unknown region sure_fg = np.uint8(sure_fg) unknown = cv2.subtract(sure_bg,sure_fg) # Marker labelling ret, markers = cv2.connectedComponents(sure_fg) # Add one to all labels so that sure background is not 0, but 1 markers = markers+1 # Now, mark the region of unknown with zero markers[unknown==255] = 0 markers = cv2.watershed(img,markers) img[markers == -1] = [255,0,0] plt.imshow(img) plt.show() 结果:先导入模块加载图像,图像转化为灰度图片: import numpy as np import cv2 from matplotlib import pyplot as plt img = cv2.imread('basil.jpg') gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) 设置一个阈值,将灰度图像分为两部分:黑色部分和白色部分: ret, thresh = cv2.threshold(gray,0,255,cv2.THRESH_BINARY_INV+cv2.THRESH_OTSU) 通过morphologyEx变化来去除噪声数据,是对图像进行膨胀之后再进行腐蚀操作提取图像特征: kernel = np.ones((3,3),np.uint8) opening = cv2.morphologyEx(thresh,cv2.MORPH_OPEN,kernel, iterations = 2) 得到大部分前景:通过distanceTeansform来获取最有可能的前景区域,越是远离背景区域的边界越可能是前景,得到结果后用一个阈值来确定前景: dist_transform = cv2.distanceTransform(opening,cv2.DIST_L2,5) ret, sure_fg = cv2.threshold(dist_transform,0.7*dist_transform.max(),255,0) 接下来确定前景和背景重叠部分: sure_fg = np.uint8(sure_fg) unknown = cv2.subtract(sure_bg,sure_fg) 设定“栅栏”来阻止谁汇聚,通过connected-Components函数完成: ret, markers = cv2.connectedComponents(sure_fg) 在背景区域上加一,将unknown区域设为0: markers = markers+1 markers[unknown==255] = 0 最后通过watershed函数: markers = cv2.watershed(img,markers) img[markers == -1] = [255,0,0]

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册