机器学习之图像处理——基本概念知识介绍

这篇具有很好参考价值的文章主要介绍了机器学习之图像处理——基本概念知识介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

图像处理的概论

图像分析一般利用数学模型并结合图像处理的技术来分析底层特征和上层结构,到从而提取具有一定智能性的信息,其中对图片内容分析,图片内容识别和检测都离不开图像的分类。

图像分类目标:已有固定的分类标签集合,然后对于输入的图像,从分类标签集合中找出一个分类标签,最后把分类标签分配给该输入图像。

图像处理流程

图像分类

图像数据分析的内容是什么?内容分析,内容识别,检测都离不开图像的分类
分类目标:所谓图像分类问题,就是已有固定的分类标签集合,然后对于输入的图像,从分类标签集合中找出一个分类标签,最后把分类标签分配给该输入图像。

图像分类流程:

1.输入:输入是包含N个图像的集合,每个图像的标签是K种分类标签中的一种。这个集合称为训练集。
2学习:这一步的任务是使用训练集来学习每个类到底长什么样。一般该步骤叫做训练分类器或者学习一个模型。
3.评价:让分类器来预测它未曾见过的图像的分类标签,把分类器预测的标签和图像真正的分类标签对比,并以此来评价分类器的质量。

机器学习图像处理,深度学习之Pytorch原理与实战,机器学习,图像处理,人工智能,计算机视觉,pytorch计算机通过训练集{dog(狗),cat(猫),truck(卡车),plane(飞机)}来学习dog,cat,truck,plane到底长什么样,有什么特征,之后预测这张它未曾见过的图像的分类标签,把分类器预测的标签和图像真正的分类标签对比,得出与分类标签cat匹配率最高。

前面我们学习了机器学习的相关算法,作为底层的机器学习算法,它将会为我们提供一系列的算法支撑,最终帮助我们对图像数据进行训练,分类。

图像处理应用场景

图像相比文字能够提供更加生动、容易理解及更具艺术感的信息,是人们转递与交换信息的重要来源。

图像分类是根据图像的语义信息将不同类别图像区分开来,是计算机视觉中重要的基本问题,也是图像检测、图像分割、物体跟踪、行为分析等其他高层视觉任务的基础。

图像分类在很多领域有广泛应用,包括安防领域的人脸识别和智能视频分析等,交通领域的交通场景识别互联网领域基于内容的图像检索和相册自动归类

随着人类活动范围的不断扩大,图像分类的应用领域也将随之不断扩大,比如卫星影像,医学领域的图像识别等,通过计算机图像分类技术既节省人力,又加快了速度,还可以从照片中提取人工所不能发现的大量有用情报。

机器学习图像处理,深度学习之Pytorch原理与实战,机器学习,图像处理,人工智能,计算机视觉,pytorch
考古只是图像分类在卫星领域的一个很小的应用,现在世界各国都在利用陆地卫星所获取的图像进行资源调查(如森林调查、海洋泥沙和渔业调查、水资源调查等),灾害检测(如病虫害检测、水火检测、环境污染检测等),资源勘察(如石油勘查、矿产量探测、大型工程地理位置勘探分析等),农业规划(如土壤营养、水份和农作物生长、产量的估算等),城市规划(如地质结构、水源及环境分析等)。

机器学习图像处理,深度学习之Pytorch原理与实战,机器学习,图像处理,人工智能,计算机视觉,pytorch图像分类在生物医学工程方面的应用十分广泛,而且很有成效。除了上面介绍的痰液自动分析系统之外,还有一类是对医用显微图像的处理分析,如红细胞、白细胞分类,染色体分析,癌细胞识别等。此外,在X光肺部图像增晰、超声波图像处理、心电图分析、立体定向放射治疗,CT技术等医学诊断方面都广泛地应用图像处理技术。

图像在计算机内的结构

图像在计算机中的结构
在进行图像分类前我们了解一下图像在计算机中的结构
对于计算机来说,图像是一个由数字组成的巨大的3维数组。

图像是对真实存在的或者人们想象的客观对象的一种表示方式,这种方式能被人的视觉系统感知。但是对计算机来说,每张图像都是由一个或者多个相同维度的数据通道构成

以RGB彩色图像为例,每张图片都是由三个数据通道构成,分别为红、绿和蓝色通道。

而对于灰度图像,则只有一个通道

多光谱图像一般有几个到几十个通道高光谱图像具有几十到上百个通道

我们主要介绍多通道情况下,最常见的红绿蓝(RGB)三通道,第一个维度是高度,第二个维度是宽度,第三个维度是通道数,即对于计算机来说,图像是一个由数字组成的巨大的3维数组。

机器学习图像处理,深度学习之Pytorch原理与实战,机器学习,图像处理,人工智能,计算机视觉,pytorch图像如何进行分类,计算机是通过数据(数值)进行公式运算和算法迭代的,那么我们应该如何理解图像呢?图像是一个图片,但是它不是数值,可是为什么我们的机器还可以运算呢?

因为在计算机里面读取的图片它是由数值矩阵构成的

图示的矩阵里,每个元素都是一个3维数组,分别代表这个像素上的三个通道的值。

最常见的RGB通道中,第一个元素就是红色(Red)的值,第二个元素是绿色(Green)的值,第三个元素是蓝色(Blue)。

对于RNG通道,其卷积表示为高度×宽度×通道数,即H×W×C的表达方式。

在这个例子中,猫的图像大小是宽248像素,高400像素,有3个颜色通道,分别是红、绿和蓝(简称RGB)。如此,该图像就包含了248X400X3=297600个数字,每个数字都是在范围0-255之间的整型,其中0表示全黑,255表示全白。

1.在计算机中图像以三维数组的形式表达;
2.机器学习就是通过算法,使得机器能从大量历史数据中学习规律,从而对新的样本做智能识别或对未来做预测,机器学习算法的输入可以是数组。
3.能否将这些数组放入机器学习算法中,通过比较数组的距离进行分类,最终通过机器学习算法实现图像分类?

图像与机器学习的关系

机器学习图像处理,深度学习之Pytorch原理与实战,机器学习,图像处理,人工智能,计算机视觉,pytorch要使机器学习实现图像分类,我们再回忆一下机器学习,即机器学习的一个核心目标是从过往经验数据中推导出规律,并将这种规律应用于新的数据中。

我们把机器从经验数据中推导并找到规律这一过程称之为“训练”,把将规律应用于新数据这一过程称为“预测”,其中的规律我们称为“模型”。

那么我们先从training image图像训练集合中发现一些规律和模型,然后将这些规律应用于新数据test image图像,进行预测,从分类标签集合中找出training image一个分类标签,最后把分类标签分配给该输入图像test image。

图像分类的简单实现

我们在进行线性分类前,先了解一下将会使用到的工具OpenCV

OpenCV是一个用于图像处理、分析、机器视觉方面的开源函数库
该库包含了横跨工业产品检测、医学图像处理、安防、用户界面、摄像头标定、三维成像、机器视觉,该库也包含了比较常用的一些机器学习算法

1.OpenCV的全称是Open Source Computer Vision Library,是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,是一个用于图像处理、分析、机器视觉方面的开源函数库。

2.该库不仅夸平台,跨语言,还包含了横跨工业产品检测、医学图像处理、安防、用户界面、摄像头标定、三维成像、机器视觉,同时包含了比较常用的一些机器学习算法。

环境配置地址:
  • Anaconda:https://www.anaconda.com/download/

  • Python_whl:https://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv

安装和配置环境

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python==3.4.2.16
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-contrib-python==3.4.2.16

第一个是Python的第三方库:OpenCV提供的API,用于处理图像相关的方法;第二个是用于图像特征转换的第三方库,这两个是配套使用的,如果我们在安装这些第三方库的时候直接使用:
pip install 库名
那么它会默认按最新版安装,但是由于特征提取算法在近些年有很多的算法包被申请了专利,并不是开源的,所以如果我们不指定版本直接按照默认版安装,后续可能会出现报错。

安装好之后,我们不仅可以在jupyter notebook下使用,也可以在pycharm下使用这个方法,下面就开始进入图像处理的知识。

cv2.imread(filepath,flags)
# filepath:要读入图片的完整路径
# flags:读入图片的标志
# cv2.IMREAD_COLOR:默认参数,读入一副彩色图片,忽略alpha通道
# cv2.IMREAD_GRAYSCALE:读入灰度图片
# cv2.IMREAD_UNCHANGED:顾名思义,读入完整图片,包括alpha通道
#python语言中的OpenCV库的名称是cv2,可以直接import,即;
import cv2

#使用函数cv2.imread()读取图片。第一个参数是文件路径;第二个参数指定以什么方式读取:
#cv2.IMREAD_COLOR(1):加载彩色图片,这个是默认参数。
#cv2.IMREAD_GRAYSCALE(0):以灰度模式加载图片。
#cv2.IMREAD_UNCHANGED(-1):包括alpha。

# Load input image -- 'table.jpg'
input_file = 'D:/ml/flower.jpg'
img = cv2.imread(input_file)

使用函数cv2.imread()读取图片,直接返回numpy.ndarray 对象,通道顺序为BGR ,注意是BGR,通道值默认范围0-255

使用函数cv2.imshow() 显示图像。窗口会自动调整为图像大小。第一个参数是窗口的名字,其次才是我们的图像。你可以创建多个窗口,只要你喜欢,但是必须给他们不同的名字。

cv2.imshow('image',img1)
#也可以直接比较读取到的两张图片的BGR差异:
print(img2-img))

CV.waitKey方法

# 使用函数cv2.imshow(wname,img)显示图像,第一个参数是显示图像的窗口的名字,第二个参数是要显示的图像(imread读入的图像),窗口大小自动调整为图片大小
import cv2

cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

# cv2.waitKey顾名思义等待键盘输入,单位为毫秒,即等待指定的毫秒数看是否有键盘输入,若在等待时间内按下任意键则返回按键的ASCII码,程序继续运行。若没有按下任何键,超时后返回-1。参数为0表示无限等待。不调用waitKey的话,窗口会一闪而逝,看不到显示的图片。

cv2.destroyAllWindow()#销毁所有窗口
cv2.destroyWindow(wname)#销毁指定窗口

机器学习图像处理,深度学习之Pytorch原理与实战,机器学习,图像处理,人工智能,计算机视觉,pytorch

图像缩放

采用插值的思想!

#图片缩放
height, width = img.shape[:2]
size = (int(width*0.3), int(height*0.5))
img= cv2.resize(img, size, interpolation=cv2.INTER_AREA)
cv2.imshow('img_shrink', img)
cv2.waitKey(0)

图像混合

#图像混合(需要图片大小以及通道数一致)
img1 = cv2.imread('lena_small.jpg')
img2 = cv2.imread('opencv-logo-white.png')
res = cv2.addWeighted(img1, 0.6, img2, 0.4, 0)
#第一个参数是图像变量,第二个是该图像的权重

src1, src2:需要融合相加的两副大小和通道数相等的图像 alpha:src1的权重 beta:src2的权重
gamma:gamma修正系数,不需要修正设置为0
dst:可选参数,输出结果保存的变量,默认值为None,如果为非None,输出图像保存到dst对应实参中,其大小和通道数与输入图像相同,图像的深度(即图像像素的位数)由dtype参数或输入图像确认
dtype:可选参数,输出图像数组的深度,即图像单个像素值的位数(如RGB用三个字节表示,则为24位),选默认值None表示与源图像保持一致。
返回值:融合相加的结果图像

CV.imwrite 保存图像

使用函数cv2.imwrite(file,img,num)保存一个图像

第一个参数是要保存的文件名,第二个参数是要保存的图像。可选的第三个参数,它针对特定的格式:对于JPEG,其表示的是图像的质量,用0 - 100的整数表示,默认95;对于png ,第三个参数表示的是压缩级别。默认为3.

cv2.IMWRITE_JPEG_QUALITY类型为 long ,必须转换成 int
cv2.IMWRITE_PNG_COMPRESSION, 从0到9 压缩级别越高图像越小

cv2.imwrite('./img/1.png',img, [int( cv2.IMWRITE_JPEG_QUALITY), 95])
cv2.imwrite('1.png',img, [int(cv2.IMWRITE_PNG_COMPRESSION), 9])

CV2.flip

# 使用函数cv2.flip(img,flipcode)翻转图像,flipcode控制翻转效果。
# flipcode = 0:沿x轴翻转
# flipcode > 0:沿y轴翻转
# flipcode < 0:x,y轴同时翻转
import cv2
img = cv2.imread( 'flower.jpg')
imgflip = cv2.flip(img,1)
cv2.imshow(img)
cv2.waitKey(0)

每文一语

开启新的生活!文章来源地址https://www.toymoban.com/news/detail-725866.html

到了这里,关于机器学习之图像处理——基本概念知识介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数字图像处理实验之Matlab对图像的基本处理

    1、提取Lena图像的左半上角部分,与原始Lena图像在同一个figure中显示,并做适当命名 效果图 2、利用 imnoise , 对原始Lena图像叠加高斯噪声,产生4幅、14幅、140幅的含噪图像。对这些含噪图像采用 相加  运算,来验证、比较图像相加消除叠加性噪声的效果。将原始图像、1幅噪

    2024年02月03日
    浏览(64)
  • 数字图像处理 - 图像处理结合机器学习的应用示例

            在本文中,特别关注树叶分类机器学习技术的实现。我们的目标是演示如何利用机器学习算法来分析一系列叶子照片,从而实现准确分类并提供对植物领域有价值的算法。         图像处理中机器学习的本质         机器学习使计算机能够学习模式并根据

    2024年02月13日
    浏览(47)
  • C++OpenCV(2):图像处理基础概念与操作

    🔆 文章首发于我的个人博客:欢迎大佬们来逛逛 🔆 OpenCV项目地址及源代码:点击这里 通过 imread 我们可以读取一个图片 其形式如下: 而我们需要传递一个InputArray类型的参数,实际上就是 cv::Mat 如果创建cv::Mat呢? 可以通过 它的很多的构造函数 先来了解一下图片的 颜色通

    2024年02月16日
    浏览(39)
  • OpenCV基本图像处理操作(一)——图像基本操作与形态学操作

    图像显示 转hsv图像 颜色表示为三个组成部分:色调(Hue)、饱和度(Saturation)和亮度(Value)。常用于图像处理中,因为它允许调整颜色的感知特性,如色彩和亮度,这些在RGB颜色模型中不那么直观。 HSV模型特别适用于任务如图像分割和对象追踪,因为它可以更好地处理光

    2024年04月22日
    浏览(89)
  • MATLAB【数字图像处理】 实验一:图像处理基本操作(平移、放大、缩小、旋转、插值)

    1、熟悉并掌握MATLAB工具的使用;  2、实现图像的读取、显示、存储、平移、镜像、放大、缩小及旋转操作; 3、掌握常用的插值方法,并了解其优缺点。 Matlab 2020B 1、读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分别显示RGB图像和灰度图像,注上文字标

    2024年02月06日
    浏览(50)
  • OpenCV基本图像处理操作(十)——图像特征harris角点

    角点 角点是图像中的一个特征点,指的是两条边缘交叉的点,这样的点在图像中通常表示一个显著的几角。在计算机视觉和图像处理中,角点是重要的特征,因为它们通常是图像中信息丰富的区域,可以用于图像分析、对象识别、3D建模等多种应用。 角点的识别可以帮助在进

    2024年04月23日
    浏览(64)
  • OpenCV(二)——图像基本处理(三)

    目录  3.图像滤波与增强 3.1线性滤波 3.2 非线性滤波 3.3 图像锐化 3.4 直方图均衡化

    2024年02月12日
    浏览(48)
  • OpenCV(二)——图像基本处理(二)

    目录  2.图像的几何变换 2.1 图像平移 2.2 图像缩放 2.3 图像旋转 2.4 仿射变换

    2024年02月12日
    浏览(41)
  • OpenCV(二)——图像基本处理(四)

    目录 4.图像形态学操作 4.1 图像腐蚀 4.2 图像膨胀  4.3 开运算 4.4 闭运算

    2024年02月12日
    浏览(42)
  • ENVI中图像处理-基本操作

    熟悉基本的图像处理操作,包括:图像显示、彩色合成、多波段影像叠加、查看头文件、编辑头文件信息、图像裁剪、两个时期影像的对比、关闭文件。 掌握图像处理的基本操作 内容一:打开影像,进行彩色合成:真彩色、标准假彩色、任意假彩色; 1、影像打开 数据:D

    2024年02月08日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包