版权声明:如需转载请标注 https://blog.csdn.net/weixin_40973138/article/details/84403448
图像属性:
- 通道数目
- 高与宽
- 像素数据
- 图像类型
显示一张图片:
import cv2 as cv
src = cv.imread("/home/pi/Desktop/apple.jpg")
cv.namedWindow("input image", cv.WINDOW_AUTOSIZE)
cv.imshow("input image", src)
cv.waitKey(0)
cv.destroyAllWindows()
函数说明:
函数 | 说明 |
---|---|
cv.imread(const String& filename,int flags) | 读取图片。参数1:图片地址;参数2(默认正常读取):0 或2 为灰度图,1 为原图 |
cv.namedWindow( const char* name, int flags ) | 创建窗口,但不写也能show。参数1:窗口名字;参数2:窗口显示方式(为0 或cv.WINDOW_NORMAL,可以改变窗口大小;不写或cv.WINDOW_AUTOSIZE则不可改变大小) |
cv.imshow(const string& winname, InputArray mat) | 显示图片窗口。参数1:窗口名称(若上文有NamedWindow() 函数,这个名称要与它一样);参数2:要显示的图片(如果窗口是用CV_WINDOW_AUTOSIZE(默认值)标志创建的,那么显示图像原始大小。否则,将图像进行缩放以适合窗口) |
waitKey(K) | 窗口显示时间,单位:毫秒。K=0,一直显示,直到按下数字键 |
destroyAllWindows() | 删除建立的全部窗口,释放资源 |
import cv2 as cv
def get_image_info(image):
print(type(image)) #打印图像类型
print(image.shape) #打印图像长宽和通道
print(image.size) #打印图像总像素大小,其值等于图像 长×宽×通道数
print(image.dtype) #每个像素点所拥有通道所占的位数
src = cv.imread("/home/pi/Desktop/apple.jpg") #src 变为一个numpy 类型数组
cv.namedWindow("input image", cv.WINDOW_AUTOSIZE)
cv.imshow("input image", src)
get_image_info(src)
cv.imwrite("/home/pi/Desktop/apple_2.jpg", src) #图片另存为
cv.waitKey(0)
cv.destroyAllWindows()
除了输出图片外,还输出了如下信息:
输出图像矩阵图
import cv2 as cv
import numpy as np
def get_image_info(image):
print(type(image))
print(image.shape)
print(image.size)
print(image.dtype)
pixel_data = np.array(image) #通过np 获取图像像素矩阵
print(pixel_data)
src = cv.imread("/home/pi/Desktop/apple.jpg", 1)
cv.namedWindow("input image", 0)
cv.imshow("input image", src)
get_image_info(src)
cv.waitKey(0)
cv.destroyAllWindows()