OpenCV使用教程-图像矩阵计算

1、图像与矩阵

opencv 读取照片就是二维矩阵,由weight【长】、height【宽】2个维度组成的像素数组矩阵;
矩阵元素为 pixel【像素点】,由Bule、Green、Red三个颜色组成;

OpenCV使用教程-图像矩阵计算_第1张图片

2、矩阵运算

既然是图片本质上可以抽象成矩阵,那么根据矩阵的特性和numpy数组提供的方法,都可以对图片进行矩阵变换;

  • 加法:若通道中颜色元素相加大于255,则对256取余数;如(233,230,216)+(135,134,120)=(112,108,80)
import cv2 as cv
img=cv.imread("../sources/cyq.jpg")
print(img.shape)
img1=img[0:2,0:2,:]
img2=img[100:102,100:102,:]
print("[img1]:----------")
print(img1)
print("[img2]:----------")
print(img2)
print("[img1+img2]:----------")
print(img1+img2)
  • 减法:若通道中颜色元素相减法为负数,则对256做减法;如(1,2,3)-(2,6,5)=(255,252,254)
import cv2 as cv
img=cv.imread("../sources/cyq.jpg")
print(img.shape)
img1=img[0:2,0:2,:]
img2=img[100:102,100:102,:]
print("[img1]:----------")
print(img1)
print("[img2]:----------")
print(img2)
print("[img1-img2]:----------")
print(img1-img2)
  • 数乘:若通道中颜色元素数乘大于255,则对256取余数;如(233,230,216)+(135,134,120)=(112,108,80)
import cv2 as cv
img=cv.imread("../sources/cyq.jpg")
print(img.shape)
img2=img[100:102,100:102,:]
print("[img2]:----------")
print(img2)
print("[img1*2]:----------")
print(img2*2)

你可能感兴趣的:(图像识别,python,opencv,python,计算机视觉)