【AI基础】python:openCV—

2023-01-31 01:01:38 opencv 基础 AI

OpenCV图像的基本操作 :使用包cv2,numpy

import cv2
import numpy as np

img = cv2.imread('1.jpg')
cv2.imshow('image',img)
k = cv2.waiTKEy(0)

"把一个RGB图片看成一个3维的数组"
img2 = img[20:300, 100:400]
cv2.imshow('img2',img2)
k = cv2.waitKey(0)

"快速矩阵运算是numpy的优点,批量像素修改不需要使用循环,使用矩阵运算"
px=img[100,100]
print(px)
blue = img[100,100,0]
print(blue)
img[100:200,100:200]=[255,255,255]
print(img[101,101])

cv2.imshow('image',img)
k = cv2.waitKey(0)

img = cv2.imread('1.jpg')

" img.shape可以获得图像的形状,返回值是一个包含行数,列数,通道数的元组"
" 灰度图,返回值仅有行数和列数"
print(img.shape)
"img.size可以返回图像的像素数目"
print(img.size)

"图像的特定区域  拷贝操作"
loGo = img[30:130, 330:430]
img[100:200,100:200] = logo
cv2.imshow('image',img)
k = cv2.waitKey(0)

"拆分及合并图像通道  对RGB三个通道分别操作"
"cv2.split()是比较耗时的操作,能用numpy就尽量使用"
r,g,b=cv2.split(img)#拆分
#img=cv2.merge(r,g,b)#合并
cv2.imshow('b',b)
k = cv2.waitKey(0)

img[:,:,2]=0
cv2.imshow('img',img)
k = cv2.waitKey(0)

相关文章