修改像素方法1:
import numpy as np
import cv2
img=cv2.imread("2.jpg")
img[100,100]=[255,255,255]
print(img[100,100])
#runfile('E:/opencv学习/imread.py', wdir='E:/opencv学习')
#[255 255 255]
更好的获取与修改像素的方法:
array.item()是获取一个区域的像素值。
import numpy as np
import cv2
img=cv2.imread("2.jpg")
print(img.item(10,10,2))
img.itemset((10,10,2),100)
print(img.item(10,10,2))
#3
#100
获取图像的属性:
img.shape可以获取图像的形状,他的返回值是一个包含行数,列数,通道数的元组
import numpy as np
import cv2
img=cv2.imread("2.jpg")
print(img.shape)
#(429, 640, 3)
注意:
如果图像是灰度图,返回值仅有行数与列数,所以通过检查返回值就可以知道加载的是灰度图还是彩色图
img.size()可以返回图像的像素数目
import numpy as np
import cv2
img=cv2.imread("2.jpg")
print(img.size)
#823680
img.dtype()返回的是图像的数据类型
import numpy as np
import cv2
img=cv2.imread("2.jpg")
print(img.dtype)
#uint8
图像ROI:
有时需要对一副图像的特定区域进行操作,例如我们要检测一副图片当中眼的位置,我们应首先在图像中找到脸,再在脸中找到眼睛。
import numpy as np
import cv2
img=cv2.imread("2.jpg")
ball=img[280:340,330:390]
img[273:333,100:160]=ball