数字图像:
一幅图像可定义为一个二维函数f(x,y)对任意坐标处的幅度称为图像在这一点的亮度(术语灰度级通常指单色图像的亮度)。彩色图像是由多幅单色图像组合而成的。图像关于x坐标和y坐标和幅度是连续的。将一副图像转换成数字形式,要求对坐标和幅度进行数字化。将坐标值数字化称为采样,将赋值数字化称为量化。所以当x y和幅值f都是有限的离散的量时我们称作为数字图像。
import cv2 as cv
import numpy as np
获取图像的信息:
def get_image_info(img):
print(type(img)) #显示类型
print(img.shape) #显示尺寸
print(img.shape[0]) #图片宽度
print(img.shape[1]) #图片高度
print(img.shape[2]) #图片通道数
pixel_data =np.array(image)#获取n维矩阵的图像信息
print(pixel_data)
print(img.size) #显示总像素个数
print(img.max()) #最大像素值
print(img.min()) #最小像素值
print(img.mean()) #像素平均值
初始化视频:
def video_demo():
capture =cv.VideoCapture(0)
while True:
ret,frame =capture.read()
frame = cv.flip(frame,1)
cv.imshow("video",frame)
c = cv.waitKey(50)
if c == 27:
break
读取并显示图像及图像保存:
src =cv.imread("C:\\Users\\william\\Pictures\\go.jpg")#读取图片
cv.namedWindow("input image",cv.WINDOW_AUTOSIZE)#创建图片窗口
cv.imshow("input image",src)#窗口中显示图片
get_image_info(src)
cv.imwrite("D:/result.jpg",src)
cv.waitKey(0)
cv.destroyAllWindows()
cv2.waitKey (0)
如果不添最后一句,在IDLE中执行窗口直接无响应。在命令行中执行的话,则是一闪而过。