Numpy包介绍
> -www.numpy.org
- numpy中的函数大多是用c语言编写的,后来打包成.pyd文件 numpy也会调用Intel的MKL数学函数工具包。
NumPy是Python语言的一个扩充程序库。支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。Numpy内部解除了CPython的GIL(全局解释器锁),运行效率极好,是大量机器学习框架的基础库
遍历数组中的每个像素点
修改数组中像素点的值
data\dtype\size\shape\len
`import cv2 as cv
import numpy as np
def access_pixels(image):
♾️ text 代码:print(image.shape)
height = image.shape[0]
width = image.shape[1]
channels = image.shape[2]
print("width : %s, height : %s channels : %s" % (width,height,channels))
for row in range(height):
for col in range(width):
for c in range(channels):
pv = image[row, col, c]
image[row, col, c ] = 255 - pv
cv.imshow("pixels_done",image)
def imverse(image):
♾️ text 代码:dst = cv.bitwise_not(image)
cv.imshow("inverse drwo", dst)
def create_image():
♾️ text 代码:img = np.zeros([400, 400,3], np.uint8)
img[: , : , 0] = np.ones([400, 400])*255
cv.imshow("now image", img)
print("------- Hello Python-------")
src = cv.imread("C:/like/look/123.jpg") # blue, green red
cv.namedWindow("input image", cv.WINDOW_AUTOSIZE)
cv.imshow("input image", src)
t1 = cv.getTickCount()
create_image()
t2 = cv.getTickCount()
time = (t2-t1)/cv.getTickFrequency()
print("time : %s ms"%(time*1000))
cv.waitKey(0)
cv.destroyAllWindows()`
如何实现数组负值
如:a = [1,2,3,4,5]
b=a
当a的值改变时,b的值也会随之改变
如果希望b和a没有关系,可以通过下面的方法a = [1,2,3,4,5]
b=a[:]
这样a和b就是两个完全独立的数组,互相不会影响。
以上是我自己实验的数据,不同的数组,照片有不同的数据。要打开眼光的界限。