Python编程笔记

1、可变参数函数

def  function(*num):

如果现有一个list(number)要作为参数传入可变参数函数,直接在number前面加上*即可——function(*number)

2、格式化输出:

printf('a=%s,b=%s'%(a,b))

%s,%d,%f

3、生成器generator:一边循环一边计算,保存的是算法

可以通过next()函数获得生成器下一个返回值

如果一个函数定义中包含yield关键字,则此函数是个generator

4、np.zeros()默认生成float64类型;查看变量类型type();list转array:np.array(list_name);array转list:array_name.tolist()

import numpy as np
a=[0,1,2,3,4,5]
b=np.zeros((1,5))
c=np.array(a)
d=b.tolist()
print(type(a),type(b),type(d))  #<class 'list'> <class 'numpy.ndarray'> <class 'list'>
print(b.dtype,c.dtype,)         #float64 int32<class 'list'> <class 'numpy.ndarray'> <class 'list'>
print(b.dtype,c.dtype,)         #float64 int32

5、Python除法

a=5
b=8
c=a/b          #0.625
d=(int)(a/b)   #0
print(c,d)

6、打开图像

from PIL import Image
img = Image.open('C:\\Users\\Echo\\Desktop\\9.12\\LDSO\\test.jpg') 
import matplotlib.image as mpimg 
im=mpimg.imread('C:\\Users\\Echo\\Desktop\\9.12\\LDSO\\test.jpg')
import cv2
im=cv2.imread('C:\\Users\\Echo\\Desktop\\9.12\\LDSO\\test.jpg') 

7、注意定义一维矩阵的写法

a=np.ones((3,))
b=np.ones((1,3))
print("a:",a) # a: [ 1.  1.  1.]
print('b:',b) # b: [[ 1.  1.  1.]]
print(a.shape,b.shape) #(3,) (1, 3)
((3,))
b=np.ones((1,3))
print("a:",a) # a: [ 1.  1.  1.]
print('b:',b) # b: [[ 1.  1.  1.]]
print(a.shape,b.shape) #(3,) (1, 3)

8、矩阵拼接:np.row_stack([ ]),np.column_stack([ ]

aa=np.array([1,2,3])
bb=np.array([4,5,6])
aaa=np.row_stack([aa,bb])
bbb=np.column_stack([aa,bb])
print(aaa)
print(bbb)

[[1 2 3]
 [4 5 6]]

[[1 4]
 [2 5]
 [3 6]]
8、矩阵重复tile
a=np.array([1,1,1])
b=np.array([(1),(1),(1)])
aa=np.tile(a,(2,1))
bb=np.tile(b,(1,2))
print('a',a)
print('aa',aa)
print('b',b)
print('bb',bb)
print(a.shape,b.shape)

 

a [1 1 1]
aa [[1 1 1]
 [1 1 1]]
b [1 1 1]
bb [[1 1 1 1 1 1]]
(3,) (3,)

9、list拼接——+

a=[1]
b=[1]+[1]+a
b #[1,1,1]

10、list索引判断某元素是否存在

a=[1,2,3,1]
print(a.index(max(a))) # 2
print(3 in a)         # True

*******************************************************************************************************************************

1、MATLAB和Python读图后的像素值不一样

2、每次kmeans结果不同

3、python画框

import cv2

im=cv2.imread('1.jpg',cv2.IMREAD_COLOR)
sx1=10
sx2=30
sy1=10
sy2=30
cv2.rectangle(im,(int(sx1),int(sy1)),(int(sx2),int(sy2)),(0,255,0),1)
cv2.imshow('im',im)
cv2.waitKey

或者用skimage包:measure.regionpropsd.bbox得到minr,minc,maxr,maxc

https://www.cnblogs.com/denny402/p/5166258.html

 

 

5、要在两幅图上分别画矩形,则要用生成两个矩形:

 

不能用同一个rect,add_patch(rect)两次

6、看一个list里面是否有某个值——字符串list中是否存在某一字符串:

 

7、Python print:

 

8、matplotlib  plt画图:

 

 

9、打开任意路径一幅图片

  root.withdraw() #隐藏窗口

10、关掉图片窗口之后,python一直处于运行状态:

问题在这儿

 

root.withdraw() 是隐藏窗口,屏蔽这句就会发现还有一个tk窗口

 

11、python分割路径和文件名

os.path.split(fpath)

os.path.splitext(fpath)

os.path.splitdrive(fpath)

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值