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)