德胜云资讯,添加一些关于程序相关的内容,仅供大家学习交流(https://www.wxclwl.com)

网站地图

搜索
德胜云咨询
人工智能分类 机器学习 数据分析 图像处理 语言模型
热门标签:
最新标签:

图像处理图像处理基础篇之什么是图像处理和OpenCV配置图像处理与机器视觉考研全程干货,

日期:2023/04/04 17:21作者:林家纶人气:

导读:一.什么是图像处理 数字图像处理(Digital Image Processing)又称为计算机图像处理(Computer Image Processing),旨在将图像信号转换成数字信号并利用计算机对其进行处理的过程。常见的图像处理方法如图1-1所示。 数字图像处理作为一门学科大约形成于2...

一.什么是图像处理

数字图像处理(Digital Image Processing)又称为计算机图像处理(Computer Image Processing),旨在将图像信号转换成数字信号并利用计算机对其进行处理的过程。常见的图像处理方法如图1-1所示。

数字图像处理作为一门学科大约形成于20世纪60年代初期。早期的图像处理的目的是改善图像的质量,常用的处理方法包括图像增强、复原、编码、压缩等。随着图像处理技术的深入发展,从70年代中期开始,计算机技术和人工智能、思维科学研究迅速发展,数字图像处理向更高、更深层次发展。人们已开始研究如何用计算机系统解释图像,实现类似人类视觉系统理解外部世界,这被称为图像理解或计算机视觉。现如今,图像处理取得了不少重要的研究成果,其在许多领域(如通信、气象、生物、医学、物理、经济、文化等)已经得到广泛的应用[1-3]。

图像处理系列主要包括三部分,分别是:

二.图像处理基础

图像都是由像素(pixel)构成的,像素表示为图像中的小方格,这些小方格都有一个明确的位置和被分配的色彩数值,而这些小方格的颜色和位置就决定该图像所呈现出来的样子。像素是图像中的最小单位,每一个点阵图像包含了一定量的像素,这些像素决定图像在屏幕上所呈现的大小。图1-2表示一张由像素组成的叮当猫。

图像通常分为二值图像、灰度图像和彩色图像,图3-2展示了图像处理经典“Lena”图的各种图像。

(1)二值图像二值图像又称为黑白图像,图像中任何一个点非黑即白,要么为白色(像素为255),要么为黑色(像素为0)。将灰度图像转换为二值图像的过程,常通过依次遍历判断实现,如果像素大于127则设置为255,否则设置为0。如图1-4所示,一幅二值图像对应的矩阵。

(2)灰度图像灰度图像是指每个像素的信息由一个量化的灰度级来描述的图像,没有彩色信息,如图1-5所示。改变像素矩阵的RGB值可以实现将彩色图转变为灰度图。常见的方法是将灰度划分为256种不同的颜色,将原来的RGB(R,G,B)中的R、G、B统一替换为Gray,形成新的颜色RGB(Gray,Gray,Gray),即灰度图。将彩色图像转换为灰度图是图像处理的最基本预处理操作。后面的文章将详细介绍不同灰度转换方法的实现过程。

(3)彩色图像彩色图像是RGB图像,RGB表示红、绿、蓝三原色,计算机里所有颜色都是三原色不同比例组成的,即三色通道。RGB (Red红色,Green 绿色,Blue 蓝色),是根据人眼识别的颜色而定义的空间,可用于表示大部分颜色,也是图像处理中最基本、最常用、面向硬件的颜色空间,是一种光混合的体系。图1-6展示了图像中某一点像素(205,89,68)所对应三原色像的素值,其中R表示红色分量、G表示绿色分量、B表示蓝色分量[4]。

三.Python语言

Python是Guido van Rossum在1989年开发的一门语言,它既是解释性编程语言,又是面向对象的语言,其操作性和可移植性高,被广泛应用于数据挖掘、图像处理、人工智能领域。Python具有语言清晰、容易学习、高效率的数据结构、丰富且功能强大的第三方包等优势。同时,Python语言含有高效率的数据结构,它和其他的面向对象编程语言一样,具有参数、列表表达式、函数、流程控制(循环与分支)、类、对象等功能。Python优雅的语法以及解释性的本质,使其成为一种能在多种功能、多种平台上撰写脚本及快速开发的理想语言[5]。

Python的具体优势如下:

语法清晰,代码友好,易读性好

应用广泛,具有大量的第三方库支持,包括机器学习、人工智能等

Python可移植性强,易于操作各种存储数据的文本文件和数据库

Python是一门面向对象语言,支持开源思想

本系列主要通过Python调用OpenCV、Matplotlib、Numpy、Sklearn等第三方包实现图像处理,其优雅清晰的语法结构减少了读者的负担,从而大大增强程序的质量。该系列文章采用Python3.7版本实现,并贯穿整个系列的所有代码。同时结合官方的Python解释器进行详细介绍,作者认为官方的解释器能让读者更好地学习基础语法知识,更好地掌握图像处理算法的精髓,从而为后续自己的需求应用提供最大的帮助。图1-7是官方下载地址[6]。

读者可以结合本机的操作系统选择适合的版本,比如作者选择了Windows操作系统下的“Python 3.7.4”版本。

接着双击“python-3.7.4-amd64.exe”软件进行安装,安装过程选择指定路径,按照Python安装向导,点击“Next”按钮即可。

Python提供了集成开发环境(Python Integrated Development Environment,IDLE)供读者编写脚本文件,图1-10展示了IDLE显示print(“Hello World”)代码的效果。

在IDLE界面中点击“File”中“New File”新建文件,并另存为py文件,如“1-1-test.py”,然后编写相关代码并点击运行“Run Module F5”按钮,即可运行Python脚本文件。

# -*- coding:utf-8 -*-print(2)print("Hello World")x = 2y = 4z = x + yprint(x)print(y)print(z)print(x, y, z)

输出结果如图1-11所示。

这里作者仅简单介绍了Python的优势和安装过程,如果您是一名初学者,建议好好学习Python的基础知识,包括基础语法、数据类型、条件语句、循环语句、函数定义、类定义、面向对象等知识。后续图像处理文章遇到相关知识点,作者也会简要介绍。

四.OpenCV安装和基础

OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac 操作系统上。它是一个由C/C++语言编写而成的轻量级并且高效的库,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法[7]。其官方地址为:https://opencv.org/。

该系列文章主要使用Python调用OpenCV2库函数进行图像处理操作,首先告知读者如何在Python编程环境下安装OpenCV库。OpenCV安装主要通过pip指令进行。如图1-12所示,在命令提示符CMD环境下,通过cd命令进入Python安装目录的Scripts文件夹下,再调用下列命令安装。

pip install opencv-python

当OpenCV扩展包安装成功后,在Python中输入“import cv2”语句导入该扩展包,测试安装是否成功,如果没有异常报错即安装成功,如图1-13所示。

最后,补充一个简答的图像显示案例,算是这篇文章的结尾。接下来,我们将正式进入“Python图像处理及识别”系列,将从各个方面详细介绍图像处理的相关知识。

# -*- coding:utf-8 -*-import cv2#读取图片img = cv2.imread("huawei.png")#显示图像cv2.imshow("Demo", img)#等待显示cv2.waitKey(0)cv2.destroyAllWindows()

显示效果如图1-14所示。

五.总结

写到这里,这篇文章就介绍结束。本文主要分享了什么是图像处理、图像处理基础知识、Python语言和OpenCV基础知识。通过这篇文章,初学者可以学会如何安装相关的程序,开启整个系列的学习。同时,大家在学习该系列文章时,一定要自己动手实现所有代码和案例,这才能提升您的编程能力。

参考文献:

[1]冈萨雷斯. 数字图像处理(第3版)[M]. 北京:电子工业出版社, 2013.

[2]阮秋琦. 数字图像处理学(第3版)[M]. 北京:电子工业出版社,2008.

[3]百度百科. 图像处理[EB/OL].(2021-12-15). https://baike.baidu.com/item/图像处理/294902.

[4]Eastmount. [Python图像处理] 一.图像处理基础知识及OpenCV入门函数[EB/OL]. (2018-08-16). https://blog.csdn.net/Eastmount/article/details/81748802.

[5]杨秀璋, 颜娜. Python网络数据爬取及分析从入门到精通(分析篇)[M]. 北京:北京航天航空大学出版社, 2018.

[6]Python官网. Welcome to Python.org[EB/OL]. (2022-11-10). https://www.python.org.

[7]毛星云, 冷雪飞. OpenCV3编程入门[M]. 北京:电子工业出版社, 2015.

举报/反馈

排行

网站地图

Copyright © 2002-2022 香港德胜云网络 版权所有 | 备案号:蜀ICP备2023007363号-5

声明: 本站内容全部来自互联网,非盈利性网站仅供学习交流