问朋友,python中的麻木的。min 是什么意思(python 中的 numpy。精氨酸 是什么意思)

原创 程序编程代写  2021-09-24 00:33:01  阅读 5 次 评论 0 条
摘要:

问朋友,python中的numpy。min是什么意思取最小值输入numpy一种sNP列表=[1,2,3,4,5]NP。分钟(一)1这是一个numpy函数,他的意思是取你给的列表中的最小值。例如:输入numpy一种sn

问朋友,python中的numpy。min是什么意思

取最小值 输入numpy一种sNP 列表=[1,2,3,4,5] NP。分钟(一) 1

这是一个numpy函数, 他的意思是取你给的列表中的最小值。 例如: 输入numpy一种snp 打印(np。分钟([2,3,4,1,3,5])) #输出1

python中的numpy。一种rgmin

numpy。一种rgmin 表示数组中最小值的位置 一种=[[1,4,2],[3,4,5]] 乙=np。精氨酸(一) 结果:0 一种=[[4,4,2],[3,4,5]] 乙=np。精氨酸(一) 结果:2 #如果有重复,只显示第一个最小值的位置 一种=[[0,0,2],[3,4,5]] 乙=np。精氨酸(一) 结果:0 --------------------- 如果添加一种xis参数——求行或列方向的最小索引 axis=0 表示列方向最小索引,axis=1 表示行方向最小索引 a=[[2,0,5],[3,4,1]] 乙=np。argmin(a,axis=0) 结果:[0,0,1]#在列方向2<3,0<4,1<5 a=[[2,0,5],[3,4,1]] 乙=np。argmin(a,axis=1) Result: [1,2]#In the ro瓦 direCtion, 0 is the smallest in the first row, in position 1, and in the seCond row, 1 is the smallest in position 2。

返回数组最小值的指示符

你好! 将 numpy 导入为 np 乙=np。数组([5,3,4]) C=np。argmax(b) 打印(C) C=1 np, argmin(b) 表示求解 b 的最小值 3 为 1 的位置 仅代表个人意见,不喜欢请勿喷,谢谢。

指函数f(x)取最小值时自变量x的值。

将 numpy 导入为 np b=np。数组([5,3,4]) C=np。argmax(b) 打印(C) C=1 np, argmin(b) 表示求解 b 的最小值 3 为 1 的位置

同min(),求最小值,例如:>>> numpy。min([1,2,3]) 1 >>> numpy。分钟([5,2,3])2

python如何从多个摄像头收集数据

是的,使用PYQT+CV2,四个USB连接成功,流程如下,UI要自己做,不能放 # -*- 编码:utf-8 -*- 导入系统#,时间 从 PyQt5 导入 QtWidgets 来自 PyQt5。QtCore 导入 QTimer、QThread、pyqtSignal 从 Ui_简历2ui_thread 导入 Ui_MainWindow 将 cv2 导入为 cv 来自 PyQt5。QtGui 导入 图像、QPixmap 来自 PyQt5。QtWidgets 导入(QApplication、QDialog、QFileDialog、QGridLayout、 QLabel、QPushButton、QColorDialog) 将 numpy 导入为 np 类 MainWindow(QtWidgets。QMainWindow、Ui_MainWindow): def __init__(自己, parent=None): 超级(主窗口,自我)。__init__(父母=父母) 自己。setupUi(自己) #这个必须在最前面的位置 # 定义按钮的插槽以保存合并图像 自己。按钮。点击。连接(自我。保存合并图像) 自己。图像 = NP。ndarray(()) #空的numpy数组 自己。图片1 = np。ndarray(()) 自己。图片2= np。ndarray(()) 自己。图片3=np。ndarray(()) 自己。img4= np。ndarray(()) 自己。img4= np。空([960,1280, 3],整数) 自己。上限 = 简历。VideoCapture(3) #注意,从大到小,很重要 自己。帽。设置(3, 640) # 设置CCD分辨率 自己。帽。设置(4, 480) 退,自己。图像=自我。帽。读() 自己。第一章 = 简历。视频捕捉(2) 自己。第一章。设置(3, 640) 自己。第一章。设置(4, 480) 退,自己。图像1=自己。帽1。读() 自己。上限2 = cv。视频捕捉(1) 自己。上限2。设置(3, 640) 自己。上限2。设置(4, 480) 退,自己。图像2=自己。帽2。读() 自己。上限3 = 简历。视频捕捉(0) 自己。上限3。设置(3, 640) 自己。上限3。设置(4, 480) 退,自己。img3=自己。帽3。读() #时间。sleep(1) 可能需要延迟,等待它准备好 # 初始化一个定时器,在其他条件下使用 #自己。定时器 = QTimer(自己) # 实例化一个线程 自己。工作 0 = 工作线程() 自己。工作0。扳机。连接(自我。ccd2) # 定义时间任务为一次性任务并设置下一行 #自己。计时器。setSingleShot(真) # 开始计时任务,注意一致性 自己。工作0。开始() # 实例化一个线程 自己。工作 = 工作线程() # 多线程信号触发连接ccd3 自己。工作。扳机。连接(自我。ccd3) 自己。工作。开始() # 实例化一个线程 自己。工作 2 = 工作线程() # 多线程信号触发连接ccd4 自己。工作2。扳机。连接(自我。ccd4) 自己。工作2。开始() # 实例化一个线程 自己。工作 3 = 工作线程() # 多线程信号触发连接ccd1 自己。工作3。扳机。连接(自我。ccdmerge) 自己。工作3。开始() 自己。工作 4 = 工作线程() # 多线程信号触发连接ccd1 自己。工作4。扳机。连接(自我。ccd1) 自己。工作4。开始() def refreshShowa(自己):#显示ccd1到标签1 # 提取图像的大小和通道,用于将opencv下的图像转换为Qimage 高度、宽度、通道 = 自身。img。形状 bytesPerLine = 3 * 宽度 自己。qImg = 图像(自己。img。数据,宽度,高度,bytesPerLine, 图像。格式_RGB888)。rgbSwapped() # 显示 Qimage 自己。label。setPixmap(QPixmap。从图像(自我。qImg)) def refreshShowb(自己):#显示ccd2到label2 # 提取图像的大小和通道,用于将opencv下的图像转换为Qimage 高度、宽度、通道 = 自身。图像1。形状 bytesPerLine = 3 * 宽度 自己。qImg1 = 图像(自己。img1。数据,宽度,高度,bytesPerLine, 图像。格式_RGB888)。rgbSwapped() # 显示 Qimage 自己。标签_2。setPixmap(QPixmap。来自图像(自我。qImg1)) def refreshShowc(自己):#显示ccd3到label3 # 提取图像的大小和通道,用于将opencv下的图像转换为Qimage 高度、宽度、通道 = 自身。图像2。形状 bytesPerLine = 3 * 宽度 自己。qImg2 = QImage(自己。img2。数据,宽度,高度,bytesPerLine, QImage。格式_RGB888)。rgbSwapped() # 显示 Qimage 自己。标签_3。setPixmap(QPixmap。来自图像(自我。qImg2)) def refreshShowd(自己):#显示ccd4到label4 # 提取图像的大小和通道,用于将opencv下的图像转换为Qimage 高度、宽度、通道 = 自身。img3。形状 bytesPerLine = 3 * 宽度 自己。qImg3 = QImage(自己。img3。数据,宽度,高度,bytesPerLine, QImage。格式_RGB888)。rgbSwapped() # 显示 Qimage 自己。标签_4。setPixmap(QPixmap。来自图像(自我。qImg3)) def refreshShowe(自己):#将合并后的图片显示到label6 # 提取图像的大小和通道,用于将opencv下的图像转换为Qimage 高度、宽度、通道 = 自身。img4。形状 bytesPerLine = 3 * 宽度 自己。qImg4 = QImage(自己。img4。数据,宽度,高度,bytesPerLine, QImage。格式_RGB888)。rgbSwapped() # 显示 Qimage 自己。标签_6。setPixmap(QPixmap。来自图像(自我。qImg4)) def ccd1(自我): 自己。cap。设置(3, 640) 自己。cap。设置(4, 480) 退,自己。img = 自己。cap。读() 自己。刷新昭和() # 启动另一个线程 自己。工作0。start()#注意一致性 def ccd2(自己, str): 自己。第一章。设置(3, 640) 自己。第一章。设置(4, 480) 退,自己。img1 = 自己。第一章。读() 自己。刷新Showb() self。工作。start()#注意一致性 def ccd3(self, str): self。上限2。设置(3, 640) self。上限2。设置(4, 480) 退,自己。img2=自己。上限2。读() self。刷新显示() self。工作2。start()#注意一致性 def ccd4(self, str): self。上限3。set(3, 640) self。上限3。设置(4, 480) 退,自己。img3 = 自己。上限3。读() self。刷新显示() self。工作3。start()#注意一致性 def ccdmerge(self, str): self。img4=np。hstack((自我。img, 自己。img1)) self。img4=np。vstack((自我。img4,np。hstack((自我。img2,自己。img3))))) #print(这里是一个merge过程)可以用来判断多线程的执行 self。refreshShowe() #后面去掉备注 self。工作4。start()#注意一致性 def savemergeimage(self): # 调用存储文件对话框 文件名,tmp = QFileDialog。获取保存文件名( 自我,保存图像, 。/__数据, *。PNG *。jpg *。bmp, *。png) 如果文件名==: 返回 如果自己。img。大小== 1: 返回 # 调用opencv写入图像 cv。imwrite(文件名,自我。img4) class WorkThread(QThread): #多线程核心,很重要 # 定义一个信号 触发器 = pyqtSignal(str) def __int__(self): # 初始化函数,默认 超级(工作线程,自我)。__在里面__() 定义运行(自我): self。扳机。发射() 如果 __name__ == “__main__”: 应用程序 = QtWidgets。QApplication(系统。argv) w = 主窗口() w。显示() 系统。退出(应用程序。exec_())

win下可以调用多个dll。具体来说,我之前忘记用 C++ 做了。只要python中有calldll这样的模块,就存在数据处理的问题。用python安装所有摄像头驱动应该不麻烦。以后系统里会记录两个标准的视频动态库32亩。与模型无关。你可以直接使用这个。

python一般与摄像头等硬件交互时,ctypes模块用于引用摄像头SDK开发包中的dll,根据开发包中的函数描述文档调用该函数即可。E。G: 导入 ctypes 库=ctypes。CDLL(libc)。动态库) libc。atoi() 输出 12345

Python如何生成三维数字

1。创建一个通用的多维数组 输入numpyasnp a=np。array([1,2,3],数据类型=int)#创建一个1*3维的数组array([1,2,3]) 类型(a)#numpy。ndarray 类型 a。形状#尺寸信息(3L,) a。数据类型。名称#int32 a。大小#元素数:3 a。itemsize#每个元素占用的字节数:4 b=np。数组([[1,2,3],[4,5, 6]],数据类型=int)#创建一个2*3维的数组array([[1,2,3],[4,5, 6] ]) b。shape#尺寸信息(2L、3L) b。大小#元素数:6 b。itemsize#每个元素占用的字节数:4 c=np。array([[1,2,3],[4,5, 6]],数据类型=int16)#创建一个2*3维的数组array([[1,2,3],[4,5, 6] ] ,数据类型=int16) c。shape#尺寸信息(2L、3L) c。大小#元素数:6 c。itemsize#每个元素占用的字节数:2 c。ndim#维度 d=np。array([[1,2,3],[4,5,6]],dtype=complex)#复数二维数组 d。itemsize#每个元素占用的字节数:16 d。dtype。name#Element 类型:complex1282,创建一个通用的多维数组 输入numpyasnp a=np。array([1,2,3],dtype=int)#创建一个1*3维的数组array([1,2,3]) 类型(a)#numpy。ndarray 类型 a。形状#尺寸信息(3L,) a。dtype。名称#int32 a。大小#元素数:3 a。itemsize#每个元素占用的字节数:4 b=np。array([[1,2,3],[4,5, 6]],dtype=int)#创建一个2*3维的数组array([[1,2,3],[4,5, 6] ]) b。shape#尺寸信息(2L、3L) b。大小#元素数:6 b。itemsize#每个元素占用的字节数:4 c=np。array([[1,2,3],[4,5, 6]],dtype=int16)#创建一个2*3维的数组array([[1,2,3],[4,5, 6] ] ,dtype=int16) c。shape#尺寸信息(2L、3L) c。大小#元素数:6 c。itemsize#每个元素占用的字节数:2 c。ndim#维度 d=np。array([[1,2,3],[4,5,6]],dtype=complex)#复数二维数组 d。itemsize#每个元素占用的字节数:16 d。dtype。name#Element 类型:complex1283,创建特殊类型的多维数组  a1=np。zeros((3,4))#创建一个3*4的全零二维数组 输出: 数组([[0。,0。,0。,0。], [0。,0。,0。,0。], [0。,0。,0。,0。]]) a1。dtype。名称#元素类型:float64 a1。大小#元素数:12 a1。itemsize#每个元素占用的字节数:8 a2=np。个((2,3,4),dtype=np。int16)#创建一个2*3*4全1的三维数组 a2=np。ones((2,3,4),dtype=int16)#创建2*3*4全1个三维数组 输出: 数组([[[1,1,1,1], [1,1,1,1], [1,1,1,1]], [[1,1,1,1], [1,1,1,1], [1,1,1,1]]],dtype=int16) a3=np。empty((2,3))#创建一个2*3的未初始化二维数组 输出:(可能会有所不同) array([[1。,2。,3。], [4。,5。, 6。]]) a4=np。arange(10,30,5)#初始值10,结束值:30(不包括),步长:5 输出:数组([10,15,20,25]) a5=np。范围(0,2,0.3)#初始值0,结束值:2(不包含),步长:0.2 输出:数组([0。,0.3,0.6,0.9,1.2,1.5,1.8])fromnumpyimportpi np。linspace(0,2,9)#初始值0,结束值:2(含),元素个数:9 输出: 数组([0。,0.25,0.5,0.75,1。,1.25,1.5,1.75,2。]) x=np。linspace(0,2*pi,9) 输出: 数组([0。,0.78539816,1.57079633,2.35619449,3.14159265, 3.92699082,4.71238898,5.49778714, 6.28318531]) a=np。范围(6) 输出: 数组([0,1,2,3,4,5]) b=np。范围(12)。重塑(4,3) 输出: 数组([[0,1,2], [3,4,5], [6,7,8], [9,10,11]]) c=np。范围(24)。重塑(2,3,4) 输出: 数组([[[0,1,2,3], [4,5,6,7], [8,9,10,11]], [[12,13,14,15], [16,17,18,19], [20,21,22,23]]]) 使用 numpy。set_printoptions 可以设置numpy变量的打印格式 在 ipython 环境下,使用 help(numpy。set_printoptions) 查询使用帮助和示例 4。多维数组的基本操作 加减运算需要运算两边的维数信息相同,都是M*N数组才能正确执行运算。 a=np。范围(4) 输出: 数组([0,1,2,3]) b=a**2 输出: 数组([0,1,4,9]) c=10*np。罪(一) 输出: 数组([0。,8.41470985,9.09297427,1.41120008]) n<35 Output: array([True,True,True,True],dtype=bool) A=np。array([[1,1],[0,1]]) B=np。array([[2,0],[3,4]]) C=A*B#Element dot product Output: array([[2,0], [0,4]]) D=A。dot(B)#Matrix multiplication Output: array([[5,4], [3,4]]) E=np。dot(A,B)#Matrix multiplication Output: array([[5,4], [3,4]]) Type conversion during multidimensional array operations When operating with arrays of different types, the type of the resulting array corresponds to the more general or precise one (a behavior known as upcasting) That is, when operating different types of multidimensional arrays, the result is automatically converted to an array of higher precision, that is, upcasting Array indexing, slicing, and iteration a=np。ones((2,3),dtype=int)#int32 b=np。random。random((2,3))#float64 b+=a# correct a+=b#error a=np。ones(3,dtype=np。int32) b=np。linspace(0,pi,3) c=a+b d=np。exp(c*1j) Output: array([0.54030231+0.84147098j,-0.84147098+0.54030231j, -0.54030231-0.84147098j]) d。dtype。name Output: Unary operations of complex128 multi-dimensional arrays, such as summation, minimum value, maximum value, etc。 a=np。random。random((2,3)) a。sum() a。min() a。max() b=np。arange(12)。reshape(3,4) Output: array([[0,1,2,3], [4,5,6,7], [8,9,10,11]]) b。sum(axis=0)#Sum by column Output: array([12,15,18,21]) b。sum(axis=1)#Sum by line Output: array([6,22,38]) b。cumsum(axis=0)#accumulate elements by column Output: array([[0,1,2,3], [4,6,8,10], [12,15,18,21]]) b。cumsum(axis=1)#accumulate elements by row Output: array([[0,1,3,6], [4,9,15,22], [8,17,27,38]])universal functions B=np。arange(3) np。exp(B) np。sqrt(B) C=np。array([2。,-1。,4。]) np。The other ufunc functions of add(B,C) include: all,any,apply_along_axis,argmax,argmin,argsort,average,bincount,ceil,clip,conj,corrcoef,cov,cross,cumprod,cumsum,diff,dot,floor,inner,lexsort,max,maximum,mean,median, min,minimum,nonzero,outer,prod,re,round,sort,std,sum,trace,transpose,var,vdot,vectorize,where 5。Array indexing, slicing, and iteration a=np。arange(10)**3 a[2] a[2:5] a[::-1]#Reverse output foriina: print(i**(1/3。))deff(x,y): return10*x+y b=np。fromfunction(f,(5,4),dtype=int) b[2,3] b[0:5,1] b[:,1] b[1:3,:] b[-1]c=np。array([[[0,1,2],[10,11,12]],[[100,101,102],[110,111,112]]]) Output: array([[[0,1,2], [10,11,12]], [[100,101,102], [110,111,112]]]) c。shape Output: (2L, 2L, 3L) c[0,。] c[0,:,:] Output: array([[0,1,2], [10,11,12]]) c[:,:,2] c[。,2] Output: array([[2,12], [102,112]]) forrowinc: print(row) forelementinc。flat: print(element)a=np。floor(10*np。random。random((3,4))) Output: array([[3。,9。,8。,4。], [2。,1。,4。,6。], [0。,6。,0。,2。]]) a。ravel() Output: array([3。,9。,8。,。,6。,0。,2。]) a。reshape(6,2) Output: array([[3。,9。], [8。,4。], [2。,1。], [4。,6。], [0。,6。], [0。,2。]]) a。T Output: array([[3。,2。,0。], [9。,1。,6。], [8。,4。,0。], [4。,6。,2。]]) a。T。shape Output: (4L, 3L) a。resize((2,6)) Output: array([[3。,9。,8。,4。,2。,1。], [4。,6。,0。,6。,0。,2。]]) a。shape Output: (2L, 6L) a。reshape(3,-1) Output: array([[3。,9。,8。,4。], [2。,1。,4。,6。], [0。,6。,0。,2。]]) Check the following functions in detail: ndarray。shape,reshape,resize,ravel 6。Combine different multidimensional arrays a=np。floor(10*np。random。random((2,2))) Output: array([[5。,2。], [6。,2。]]) b=np。floor(10*np。random。random((2,2))) Output: array([[0。,2。], [4。,1。]]) np。vstack((a,b)) Output: array([[5。,2。], [6。,2。], [0。,2。], [4。,1。]]) np。hstack((a,b)) Output: array([[5。,2。,0。,2。], [6。,2。,4。,1。]]) fromnumpyimportnewaxis np。column_stack((a,b)) Output: array([[5。,2。,0。,2。], [6。,2。,4。,1。]]) a=np。array([4。,2。]) b=np。array([2。,8。]) a[:,newaxis] Output: array([[4。], [2。]]) b[:,newaxis] Output: array([[2。], [8。]]) np。column_stack((a[:,newaxis],b[:,newaxis])) Output: array([[4。,2。], [2。,8。]]) np。vstack((a[:,newaxis],b[:,newaxis])) Output: array([[4。], [2。], [2。], [8。]]) np。r_[1:4,0,4] Output: array([1,2,3,0,4]) np。c_[np。array([[1,2,3]]),0,0,0,np。array([[4,5,6]])] Output: array([[1,2,3,0,0,0,4,5,6]]) For detailed usage, please query the following function: hstack,vstack,column_stack,concatenate,c_,r_ 7。Split a larger multi-dimensional array into smaller multi-dimensional arrays a=np。floor(10*np。random。random((2,12))) Output: array([[9。,7。,9。,。,3。,2。,4。], [5。,3。,3。,。,9。,7。,7。]]) np。hsplit(a,3) Output: [array([[9。,7。,9。,6。], [5。,3。,3。,1。]]),array([[7。,2。,1。,6。], [7。,5。,0。,2。]]),array([[9。,3。,2。,4。], [3。,9。,7。,7。]])] np。hsplit(a,(3,4)) Output: [array([[9。,7。,9。], [5。,3。,3。]]),array([[6。], [1。]]),array([[7。,2。,1。,。,3。,2。,4。], [7。,5。,0。,。,9。,7。,7。]])] Functions that achieve similar functions include: hsplit,vsplit,array_split 8。Copy operation of multidimensional array a=np。arange(12) Output: array([0,1,2,。,9,10,11]) notcopyatall b=a bisa#True b。shape=3,4 a。shape#(3L,4L) deff(x)#Pythonpassesmutableobjectsasreferences,sofunctioncallsmakenocopy。 print(id(x))#id is the unique identifier of the python object id(a)#111833936L id(b)#111833936L f(a)#111833936L Shallow copy c=a。view() cisa#False c。baseisa#True c。flags。owndata#False c。shape=2,6 a。shape#(3L,4L) c[0,4]=1234 print(a) Output: array([[0,1,2,3], [1234,5,6,7], [8,9,10,11]]) s=a[:,1:3] s[:]=10 print(a) Output: array([[0,10,10,3], [1234,10,10,7], [8,10,10,11]]) Deep copy d=a。copy() disa#False d。baseisa#False d[0,0]=9999 print(a) Output: array([[0,10,10,3], [1234,10,10,7], [8,10,10,11]]) List of numpy basic functions and methods Array Creation arange,array,copy,empty,empty_like,eye,fromfile,fromfunction,identity,linspace,logspace,mgrid,ogrid,ones,ones_like,r,zeros,zeros_like Conversions ndarray。astype,atleast_1d,atleast_2d,atleast_3d,mat Manipulations array_split,column_stack,concatenate,diagonal,dsplit,dstack,hsplit,hstack,ndarray。item,newaxis,ravel,repeat,reshape,resize,squeeze,swapaxes,take,transpose,vsplit,vstack Questionsall,any,nonzero,where Ordering argmax,argmin,argsort,max,min,ptp,searchsorted,sort Operations choose,compress,cumprod,cumsum,inner,ndarray。fill,imag,prod,put,putmask,real,sum Basic Statistics cov,mean,std,var Basic Linear Algebra cross,dot,outer,linalg。svd,vdot Link to the complete list of functions and methods: https://docs。scipy。org/doc/numpy-dev/reference/routines。html#routines

直接使用list,例如a=[[[1,2],[3]]] 直接使用时,a[0][1][0] 比较理想的方式是在numpy中使用多维数组。大多数情况下,除了大学考试和家庭作业。我们不需要一个三维数组。二维的东西常用。但是很少使用严格的二维数组。但在科学计算中,偶尔会用到三维数组。只是偶尔。主要是二维矩阵运算。

本文地址:http://www.mjgy888.com/post/16587.html
版权声明:本文为原创文章,版权归 程序编程代写 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

还没有留言,还不快点抢沙发?