
Python应用
文章平均质量分 73
常见python应用
不会写代码的一木
做一个有趣的技术小白】
展开
-
Python调用DLL动态链接库——ctypes使用
最近要使用python调用C++编译生成的DLL动态链接库,因此学习了一下ctypes库的基本使用。ctypes是一个用于Python的外部函数库,它提供C兼容的数据类型,并允许在DLL或共享库中调用函数。一、Python调用DLL里面的导出函数1.VS生成dll1.1 新建动态链接库项目1.2 在myTest.cpp中输入以下内容:// myTest.cpp : 定义 DLL ...原创 2019-08-27 23:04:00 · 2688 阅读 · 0 评论 -
Python手势识别
这是借鉴了github上的一个源程序,参考源:https://github.com/lzane/Fingers-Detection-using-OpenCV-and-Python 自己在这个基础上做了一点修改补充后,可以实现手指指尖的检测,并且可以在windows系统下通过判断手指数目,来模拟键盘操作。下面直接上源程序,并做了详细注释,方便理解。 环境:python3.6+openc...原创 2018-12-06 13:36:00 · 3356 阅读 · 1 评论 -
pywebview gui='cef' 生成app报错—— 中断点 已到达中断点
pywebview是一个轻量级跨平台包装器,允许在其自己的本机GUI窗口中显示HTML内容。它提供了桌面应用程序中Web技术的强大功能,隐藏了GUI基于浏览器的事实。这个玩意儿好啊,可以直接让我们做的网页demo打包成app,简直就是神器。但是当我用pyinstaller打包pywebview生成一个app文件时,却发现了一些问题。当gui="qt"或者gui="mshtml"或者gui不赋...原创 2019-08-12 16:29:00 · 326 阅读 · 0 评论 -
Pyinstaller打包Web项目
最近需要用python打包一个单页面网页demo,于是准备用python包pyinstaller来打包程序。网上搜索了一下,大部分教程都是打包非web项目,这里分享一下打包简单网页demo的过程。系统环境:win10+python3.6一、安装pyinstallerpip install pyinstaller二、打包项目1.如果是单文件项目,pyinstaller可以通过简单的命...原创 2019-07-26 16:39:00 · 796 阅读 · 0 评论 -
Selenium(一)---Selenium的安装和使用
一、前言 最近在帮一个老师爬取网页内容,发现网页是动态加载的,为了拿到全部的网页数据,这里使用到了Selenium。Selenium 是一个用于Web应用程序测试的工具,它可以模拟真实浏览器,支持多种浏览器,而且是直接运行在浏览器中,就像真正的用户在操作一样。 环境:win10 64位 + python3.6 + chrome78.0.3904.108 64位二、安装注:以下安装配...原创 2019-12-01 16:59:00 · 935 阅读 · 0 评论 -
Selenium(二)---无界面模式+滑动底部
一、使用无界面模式1.正常情况启动 selenium是有界面的2.有些情况下,需要不显示界面,这时只要设置一下参数就可以实现了# 不想显示界面可以用 Chrome——配置一下参数就好from selenium import webdriverfrom selenium.webdriver.chrome.options import Optionsdef main(): ...原创 2019-12-01 18:17:00 · 855 阅读 · 0 评论 -
Fiddler抓包工具
网上已经有很多关于Fiddler的教程,讲解的也很明了,这里我只是记录一下自己安装使用Fiddler的时遇到的一些问题,方便日后自我查询学习。一些很不错的Fiddler的教程:https://www.cnblogs.com/yyhh/p/5140852.htmlhttps://www.cnblogs.com/codingblock/p/5004694.html一、下载地址官网下载地址:...原创 2019-03-13 14:37:00 · 221 阅读 · 0 评论 -
Appium(一)---环境搭建的一些问题
最近开始学习Appium,一款很不错的自动化测试工具,网上已经有大量的环境搭建教程,我就不再细说,我搭建环境时主要参考如下两个博客https://www.cnblogs.com/yoyoketang/p/6128725.htmlhttps://www.cnblogs.com/glumer/p/8485052.html在搭建环境过程中,也遇到了一些问题,这里记录下来,方便自己也方便他人查阅。...原创 2019-03-27 12:59:00 · 87 阅读 · 0 评论 -
Appium(二)---启动App+模拟滑动
环境搭建好了,就可以实现基本的操作,比如启动App和模拟滑动。这里我实现的是在真机(乐视1s)上启动抖音App,并滑动抖音的视频列表,代码如下:from appium import webdriverfrom time import sleepclass Action(): def __init__(self): # 初始化配置,这里设置的是乐视1s手机的Desir...原创 2019-04-24 15:03:00 · 140 阅读 · 0 评论 -
Python+OpenCV图像处理(十六)—— 轮廓发现
简介:轮廓发现是基于图像边缘提取的基础寻找对象轮廓的方法,所以边缘提取的阈值选定会影响最终轮廓发现结果。代码如下:import cv2 as cvimport numpy as npdef contours_demo(image): dst = cv.GaussianBlur(image, (3, 3), 0) #高斯模糊去噪 gray = cv.cvtColor(ds...原创 2018-09-08 21:23:00 · 102 阅读 · 0 评论 -
Python+OpenCV图像处理(十五)—— 圆检测
简介:1.霍夫圆变换的基本原理和霍夫线变换原理类似,只是点对应的二维极径、极角空间被三维的圆心和半径空间取代。在标准霍夫圆变换中,原图像的边缘图像的任意点对应的经过这个点的所有可能圆在三维空间用圆心和半径这三个参数来表示,其对应一条三维空间的曲线。对于多个边缘点,点越多,这些点对应的三维空间曲线交于一点的数量越多,那么他们经过的共同圆上的点就越多,类似的我们也就可以用同样的阈值的方法来判断一个...原创 2018-08-11 17:00:00 · 1494 阅读 · 1 评论 -
Python+OpenCV图像处理(十四)—— 直线检测
简介:1.霍夫变换(Hough Transform) 霍夫变换是图像处理中从图像中识别几何形状的基本方法之一,应用很广泛,也有很多改进算法。主要用来从图像中分离出具有某种相同特征的几何形状(如,直线,圆等)。最基本的霍夫变换是从黑白图像中检测直线(线段)。2.Hough变换的原理是将特定图形上的点变换到一组参数空间上,根据参数空间点的累计结果找到一个极大值对应的解,那么这个解就对应着要寻找的...原创 2018-07-18 23:49:00 · 264 阅读 · 0 评论 -
Python+OpenCV图像处理(十三)—— Canny边缘检测
简介:1.Canny边缘检测算子是John F. Canny于 1986 年开发出来的一个多级边缘检测算法。2.Canny 的目标是找到一个最优的边缘检测算法,最优边缘检测的含义是:好的检测- 算法能够尽可能多地标识出图像中的实际边缘。好的定位- 标识出的边缘要尽可能与实际图像中的实际边缘尽可能接近。最小响应- 图像中的边缘只能标识一次,并且可能存在的图像噪声不应标识为边缘。3.算法...原创 2018-06-04 15:47:00 · 172 阅读 · 0 评论 -
Python+OpenCV图像处理(十二)—— 图像梯度
简介:图像梯度可以把图像看成二维离散函数,图像梯度其实就是这个二维离散函数的求导。Sobel算子是普通一阶差分,是基于寻找梯度强度。拉普拉斯算子(二阶差分)是基于过零点检测。通过计算梯度,设置阀值,得到边缘图像。以下各种算子的原理可参考:https://blog.youkuaiyun.com/poem_qianmo/article/details/25560901一、Sobel算子代码如下:im...原创 2018-06-04 09:44:00 · 190 阅读 · 0 评论 -
Python+OpenCV图像处理(十一)—— 图像金字塔
简介:图像金字塔是图像中多尺度表达的一种,最主要用于图像的分割,是一种以多分辨率来解释图像的有效但概念简单的结构。简单来说,图像金字塔就是用来进行图像缩放的。进行图像缩放可以用图像金字塔,也可以使用resize函数进行缩放,后者效果更好。这里只是对图像金字塔做一些简单了解。两种类型的金字塔:①高斯金字塔:用于下采样。高斯金字塔是最基本的图像塔。原理:首先将原图像作为最底层图像G0(高斯金字...原创 2018-06-03 15:06:00 · 149 阅读 · 0 评论 -
Python+OpenCV图像处理(十)—— 图像二值化
简介:图像二值化就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果的过程。一、普通图像二值化代码如下:import cv2 as cvimport numpy as np#全局阈值def threshold_demo(image): gray = cv.cvtColor(image, cv.COLOR_RGB2GRAY) #把输入图像灰度...原创 2018-06-03 09:25:00 · 1617 阅读 · 0 评论 -
Python+OpenCV图像处理(九)—— 模板匹配
百度百科:模板匹配是一种最原始、最基本的模式识别方法,研究某一特定对象物的图案位于图像的什么地方,进而识别对象物,这就是一个匹配问题。它是图像处理中最基本、最常用的匹配方法。模板匹配具有自身的局限性,主要表现在它只能进行平行移动,若原图像中的匹配目标发生旋转或大小变化,该算法无效。简单来说,模板匹配就是在整个图像区域发现与给定子图像匹配的小块区域。工作原理:在带检测图像上,从左到右,从上向下...原创 2018-06-02 13:05:00 · 110 阅读 · 0 评论 -
Python+OpenCV图像处理(八)—— 图像直方图
直方图简介:图像的直方图是用来表现图像中亮度分布的直方图,给出的是图像中某个亮度或者某个范围亮度下共有几个像素.还不明白?就是统计一幅图某个亮度像素数量.比如对于灰度值12,一幅图里面有2000 个像素其灰度值为12,那么就能够统计12这个亮度的像素为2000个,其他类推。参考:https://blog.youkuaiyun.com/xierhacker/article/details/52605308一...原创 2018-06-01 13:47:00 · 156 阅读 · 0 评论 -
Python+OpenCV图像处理(七)—— 滤波与模糊操作
过滤是信号和图像处理中基本的任务。其目的是根据应用环境的不同,选择性的提取图像中某些认为是重要的信息。过滤可以移除图像中的噪音、提取感兴趣的可视特征、允许图像重采样等等。频域分析将图像分成从低频到高频的不同部分。低频对应图像强度变化小的区域,而高频是图像强度变化非常大的区域。在频率分析领域的框架中,滤波器是一个用来增强图像中某个波段或频率并阻塞(或降低)其他频率波段的操作。低通滤波器是消除图...原创 2018-05-31 00:16:00 · 124 阅读 · 0 评论 -
Python+OpenCV图像处理(六)—— ROI与泛洪填充
一、ROIROI(region of interest),感兴趣区域。机器视觉、图像处理中,从被处理的图像以方框、圆、椭圆、不规则多边形等方式勾勒出需要处理的区域,称为感兴趣区域,ROI。代码如下:#进行图片截取、合并、填充import cv2 as cvsrc=cv.imread('E:\imageload\lena.jpg')cv.namedWindow('first_imag...原创 2018-05-18 00:25:00 · 779 阅读 · 1 评论 -
Python+OpenCV图像处理(五)—— 像素运算
最近在忙毕业设计,只能偶尔更新博客........一、像素的算术运算像素的算术运算涉及加减乘除等基本运算(要进行算术运算,两张图片的形状(shape)必须一样)代码如下:#像素的算术运算(加、减、乘、除) 两张图片必须shape一致import cv2 as cvdef add_demo(m1, m2): #像素的加运算 dst = cv.add(m1, m2)...原创 2018-05-13 19:28:00 · 158 阅读 · 0 评论 -
Python+OpenCV图像处理(四)—— 色彩空间
一、色彩空间的转换代码如下:#色彩空间转换import cv2 as cvdef color_space_demo(img): gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY) #RGB转换为GRAY 这里的GRAY是单通道的 cv.imshow("gray", gray) hsv = cv.cvtColor(img, ...原创 2018-05-07 19:09:00 · 191 阅读 · 0 评论 -
Python+OpenCV图像处理(三)—— Numpy数组操作图片
一.改变图片每个像素点每个通道的灰度值(一)代码如下:#遍历访问图片每个像素点,并修改相应的RGBimport cv2 as cvdef access_pixels(image): print(image.shape) height = image.shape[0] width = image.shape[1] channels = image.sha...原创 2018-05-06 16:42:00 · 317 阅读 · 0 评论 -
Python+OpenCV图像处理(二)——打印图片属性、设置图片存储路径、电脑摄像头的调取和显示...
一.打印图片属性、设置图片存储路径代码如下:#打印图片的属性、保存图片位置import cv2 as cvimport numpy as np #numpy是一个开源的Python科学计算库def get_image_info(image): print(type(image)) #type() 函数如果只有第一个参数则返回对象的类型 在这里函数显示图片类型...原创 2018-05-05 16:38:00 · 152 阅读 · 0 评论 -
Python+OpenCV图像处理(一)——读取显示一张图片
先在此处先声明,后面学习python+opencv图像处理时均参考这位博主的博文https://blog.youkuaiyun.com/u011321546/article/category/7495016/2?,我只是复现和稍微修改一下代码,加深自己印象的同时也督促自己好好学习图像处理,在这里再一次感谢这位博主的博文。配置好所有环境后,开始利用python+opencv进行图像处理第一步。读取和显...原创 2018-05-05 14:25:00 · 2412 阅读 · 1 评论 -
win10 +python3.6环境下安装opencv以及pycharm导入cv2有问题的解决办法
一、安装opencv 借鉴的这篇博客已经写得很清楚了--------https://blog.youkuaiyun.com/u011321546/article/details/79499598 ,这里我只是记录一下自己的安装过程 按理说这里安装opencv应该有两种办法,一种方法是python的pip安装,另外一种方法是直接在Pycharm里安装,但是尝试后发现第二种方法发现有错,如下...原创 2018-05-04 14:39:00 · 172 阅读 · 0 评论