opencv数字图像处理学习1:基础操作

  • 确认配置
  • 1、创建项目、选择编译器
  • 2、确认file->setting中 设置了python解释器
  • 开始
  • 1、打开图像
  • 2、显示图像
  • 3、灰度化
  • 4、二值化
  • 5、储存图像


确认配置

1、创建项目、选择编译器

python图像处理数字识别 python数字图像处理教程_二值化

2、确认file->setting中 设置了python解释器

python图像处理数字识别 python数字图像处理教程_pycharm_02

选择之后会看到有这些包,右边会显示最新版本,不用理会,点击ok就行了

但是必须要有opencv-python和numpy包,图像处理的作业都会引入这两个,没有的话点击加号自己下载或参考上一篇文章

python图像处理数字识别 python数字图像处理教程_pycharm_03

开始

新建的项目如图所示,接下来我们新建一个文件chapter.py,这次作业的代码都在这个文件里

python图像处理数字识别 python数字图像处理教程_pycharm_04

1、打开图像

要打开图像当然得有这张图片,我们新建一个img文件夹,找个图片复制到这个文件夹里,以后要打开图片,我们都从这个路径获取

python图像处理数字识别 python数字图像处理教程_二值化_05


我复制了一张lena的照片放进img文件夹。

python图像处理数字识别 python数字图像处理教程_opencv_06

2、显示图像

我觉得1和2可能重复了
首先引入cv2,用这个库的方法操作图像

import cv2

设置一个变量img,当然这个变量名称你可以随便取;使用imread,imread是常用的图像读取函数。
img = cv2.imread("img/lena.png")

使用imshow函数显示图像,注意搭配waitKey

cv2.imshow('the first Lena in this Autumn', img)
cv2.waitKey(0)

waitKey函数的定义可以参考

上面几句代码就可以显示图像了,如下图所示

python图像处理数字识别 python数字图像处理教程_pycharm_07

3、灰度化

# ***3灰度化
img0 = cv2.imread("img/lena.png", 0)
# 显示
cv2.imshow('0', img0)
cv2.waitKey(0)

python图像处理数字识别 python数字图像处理教程_python_08

4、二值化

# ***4二值化
# 二值化函数
def threshold_demo(image):
    gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
    ret, binary = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY | cv2.THRESH_OTSU)
    print("threshold value %s" % ret)
    # 显示
    cv2.imshow("global_threshold_binary", binary)


# 调用二值化函数,把img传入
threshold_demo(img)
cv2.waitKey(0)

python图像处理数字识别 python数字图像处理教程_opencv_09

5、储存图像

imwrite括号中‘’内是图片的保存路径,img是保存的对象

# ***5储存图像
cv2.imwrite('img/saveLenaInChapter1.png', img)

python图像处理数字识别 python数字图像处理教程_python图像处理数字识别_10