【数字图像处理学习笔记】一、安装,读取、展示、存储图像

一、安装的库

Python3(这个在网上搜索教程)
numpy(pip install numpy)
opencv-python(pip install opencv-python)
imutils(pip install imutils)
#imutils主要是用来进行图形图像的处理,如图像的平移、旋转、缩放、骨架提取、显示等等,后期又加入了针对视频的处理,如摄像头、本地文件等。

二、opencv-python读取、展示和存储图像

开始之前展示一下我大致的目录结构
在这里插入图片描述
img为图片存储的位置,imwriter.py,main.py就是python程序

1、imread函数

  定义:cv2.imread(path_of_image, intflag)
在这里插入图片描述
举个例子:

import numpy as np
impot cv2 as cv
gray_img = cv.imread(‘img/testImg.jpg’,0)	#加载灰度图像
rgb_img = cv.imread(‘img/testImg.jpg,1)	#加载彩色图像
# 运行这个例子并不会有任何结果显示,能看到图片要看下一步(2、imshow函数)

2、imshow函数

  定义:cv2.imshow(windows_name, image)

在这里插入图片描述
接1中的例子,将1的图片展示出来

cv.imshow(‘testImgShow’,rgb_img)	#显示原图
cv.imshow(‘testImgShowGray’,gray_img)	#显示灰度图像

但是加上这两行,显然图片一闪而过,所以需要加上下面这一段(在第4点中会解释)

if cv.waitKey(0) == 27 :
	cv.destroyAllWindows()	#按下“ESC”键,将所有打开的图形窗口关闭,python使用ASCII编码,ASCII码27对应ESC键

那么,完整展示一个图片的代码如下:

import numpy as np
impot cv2 as cv
gray_img = cv.imread(‘img/testImg.jpg’,0)	#加载灰度图像
rgb_img = cv.imread(‘img/testImg.jpg,1)	#加载彩色图像
cv.imshow(‘testImgShow’,rgb_img)	#显示原图
cv.imshow(‘testImgShowGray’,gray_img)	#显示灰度图像
if cv.waitKey(0) == 27 :
	cv.destroyAllWindows()	#按下“ESC”键,将所有打开的图形窗口关闭

再提及一下通过imutils模块改变图像显示大小,下例展示

cv.show(‘test imutils img’,imutils(gray_img,800))	#利用imutils模块调整显示图像大小

类似的,

cv.show(‘test imutils img’,imutils(rgb_img,400))

3、imwriter函数

  定义:cv2.imwrite(image_filename, image)
在这里插入图片描述
举个例子,存储一张图的灰度图

import cv2 as cv
gray_img = cv.imread("img/testImg.jpg",0)	#以灰度图形式打开一张图片
cv.imwrite('img/destination.jpg',gray_img)	#将gray_img存储为jpg格式,图片名为destination
cv.imshow("storageImg",cv.imread("img/testImg.jpg",0))	#将这个图片以灰度图形式再次读出
if cv.waitKey(0) == 27 :
	cv.destroyAllWindows()	#按下“ESC”键,将所有打开的图形窗口关闭

おすすめ

転載: blog.csdn.net/passer__jw767/article/details/120234693