python笔记
fjswcjswzy
主要研究:图像处理、计算机视觉、模式识别
;我的邮箱:fjswcjswzy@126.com
;欢迎一起交流讨论,一起学习进步
展开
-
(一)通过pygame 将自己的图像添加到游戏中
使用pygame创建游戏窗口(就是游戏的主页面),不自行添加任何图片的话,默认是一片黑色的背景,代码如下:import pygamepygame.init()screen = pygame.display.set_mode((480,700))while True: passpygame.quit()但是我们现在想要使用我们自己的图像,需要怎么做?使用pygam...原创 2020-05-07 22:38:15 · 9000 阅读 · 3 评论 -
python 安装第三方库超时报错:The read operation timed out
解决方法一:设置超时时间,例如安装numpypip --default-timeout=100 install -U numpy解决方法二:换清华源:https://jingyan.baidu.com/article/1876c8527be1c3890a137645.html不过一般我换源了还是没用解决方法三:去官网下whl文件(下whl文件一般快很多)这里以安装pygame为例(...原创 2020-05-04 23:09:53 · 15820 阅读 · 2 评论 -
python-opencv:cv2.selectROI用法、参数 、返回值的解读
在一幅图像中,如何选择自己感兴趣的区域,并且对这个感兴趣的区域进行截取,以便对其进行跟多的操作呢?image=cv2.imread('example.png')cv2.namedWindow('img')r = cv2.selectROI('roi', image, False, False )cv2.waitKey(0)参数解读:selectROI(windowName, img...原创 2020-05-01 21:35:53 · 26176 阅读 · 8 评论 -
python-opencv 中 cv2.boundingRect 以及 cv2.rectangle用法
矩形边框(Bounding Rectangle)是说,用一个最小的矩形,把找到的形状包起来。还有一个带旋转的矩形,面积会更小,效果见下图:首先介绍下cv2.boundingRect(img)这个函数这个函数很简单,img是一个二值图,也就是它的参数;返回四个值,分别是x,y,w,h;x,y是矩阵左上点的坐标,w,h是矩阵的宽和高然后利用cv2.rectangle(img, (x,y),...原创 2020-04-29 18:01:32 · 12717 阅读 · 3 评论 -
python-opencv cv2.findContours()函数
示例代码:image,contours,hierarchy = cv2.findContours(contour,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)输入:contour:带有轮廓信息的图像;cv2.RETR_TREE:提取轮廓后,输出轮廓信息的组织形式,除了cv2.RETR_TREE还有以下几种选项:cv2.RETR_EXTERNAL:输出轮廓...原创 2020-04-29 17:58:09 · 1539 阅读 · 0 评论 -
python-opencv获取图片精确hsv的值
有时候想要获得一幅图片里面 某个物体的精确的hsv的值,需要怎么做呢?import cv2import numpy as npfrom matplotlib import pyplot as pltimage=cv2.imread('hsv.png')HSV=cv2.cvtColor(image,cv2.COLOR_BGR2HSV)def getpos(event,x,y,flags...原创 2020-04-29 16:49:57 · 11151 阅读 · 6 评论 -
Python argparse命令行参数解析包的详解
先不使用argparse命令行参数解析包,我们定义一个计算长方体体积的函数volumen_of_cuboid,计算其体积,代码如下:def volumen_of_cuboid(length, width, height): volumen = length * width * height return volumenif __name__ =="__main__": ...原创 2020-04-24 21:30:26 · 451 阅读 · 0 评论 -
使用python读取文件内容
文章目录读取文件打开文件的方式使用python读取文件内容在计算机要操作文件的套路非常固定,一共包含三个步骤:1.打开文件2.读、写文件读:将文件内容读入内存写:将内存内容写入文件3.关闭文件在python中,操作文件记住一个函数和三个方法函数/方法说明open打开文件,并且返回文件操作对象read将文件内容读取到内存write将指定...原创 2020-04-21 17:32:24 · 649 阅读 · 0 评论 -
python的__name__属性详解
有关文件导入:一个独立的python文件就是一个模块在导入文件时,文件中 所有没有任何缩进的代码都会被执行一遍在实际开发中,开发人员通常会在模块下方增加一些测试代码,测试代码是仅在模块内使用,而被导入到其他文件中不需要执行这里就需要知__name__属性__name__属性可以做到,测试模块的代码只在测试情况下被运行,而在被导入时不会被执行__name__时python的一个内置...原创 2020-04-20 22:41:19 · 391 阅读 · 0 评论 -
详解 python 的异常
文章目录捕获异常错误类型捕获异常捕获的完整语法异常的传递主动抛出异常捕获异常如果对某些代码的执行不能确定是否正确,可以用try来捕获异常格式为:try: 不能确定能否正确执行的代码except: 出现错误的处理例:要求用户输出整数,结果用户却输入一个字母,这就是在编写程序没有语法错误的情况下,产生的异常,代码如下:try: #提示用户输入一个数字 n...原创 2020-04-20 16:24:26 · 420 阅读 · 0 评论 -
python中如何只执行一次初始化init工作
只执行一次初始化init工作:这篇文章:python中的单例:让类创建的对象,在系统中只有唯一的一个实例讲到了对__new__进行改造后,每次都会得到第一次被创建对象的引用但是:初始化方法还是会被多次调用代码如下:class MusicPlayer(object): #记录第一个被创建对象的引用 instance = None def __new__(cls,...原创 2020-04-20 16:06:04 · 6437 阅读 · 4 评论 -
python中的单例:让类创建的对象,在系统中只有唯一的一个实例
python中的单例单例:让类创建的对象,在系统中只有唯一的一个实例。判断方法:实际上就是看通过多次调用方法,再判断这些调用的方法的返回的地址是否是相同的一个内存地址,若是相同的内存地址,就可以得出多次调用方法得到的结果,本质上还是同一个对象class MusicPlayer(object): pass#创建多个对象player1 = MusicPlayer()prin...原创 2020-04-20 16:02:52 · 3497 阅读 · 0 评论 -
python的__new__方法及重写__new__方法
__new__方法使用类名()创建对象的时候,python解释器首先会调用__new__方法为对象分配空间__new__是一个由object基类提供的内置的静态方法,主要作用有两个:1.在内存中为对象分配空间2.返回对象的引用python解释器获得对象的引用后,将引用作为第一个参数,传递给__init__方法方法:重写__new__方法的代码非常固定重写__new_...原创 2020-04-20 15:58:42 · 3867 阅读 · 0 评论 -
python 在一个类的方法内部,直接让其他类的对象调用其他类的方法
在一个类的方法内部,直接让其他类的对象调用其他类的方法,如:class Dog(object): def __init__(self, name): self.name = name def game(self): print("%s 普通玩" % self.name)class XiaoTianQuan(Dog): def g...原创 2020-04-20 15:53:48 · 716 阅读 · 0 评论 -
python 一个对象的属性可以是另外一个类创建的对象
一个对象的属性可以是另外一个类创建的对象class Gun: def __init__(self, model): self.model = model self.bullet_count = 0 def add_bullet(self, count): self.bullet_count += count def s...原创 2020-04-20 15:52:38 · 672 阅读 · 0 评论 -
python中的__str__ 方法
__str__ 方法在python中,使用print输出一个对象,如print(mini),默认情况会输出这个变量的引用对象是由哪一个类创建的对象,以及在内存中的地址(十六进制表示)如:class Cat:# 创建一个Cat类 def __init__(self, name): self.name = name#创建一个名为mini的猫对象mi...原创 2020-04-20 15:51:15 · 513 阅读 · 0 评论 -
python面向对象:在类中封装的方法,第一个参数必须是self
在类中封装的方法,第一个参数必须是self,如 def 方法1(self,参数列表),代码如下:class Cat:#创建一个Cat类 def eat(self): print("eat") def drink(self): print("drink") #创建一个名为mini的猫对象...原创 2020-04-20 15:43:49 · 1194 阅读 · 0 评论