本文主要是介绍图像内容分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Python包:scikit-image / skimage
一、简介
大数据中90%是图像和视频
图像内容分析流程:图像获取->图像增强(如对比度等)->图像复原(包括模糊等)->形态学处理->图像分割->特征提取->图像分类(还有物体检测等)->图像检索
图像史:1826年第一张照片,1861年第一张彩色照片,1878第一个视频(组图)
图像基本概念
像素pixel 分辨率:①设备无关(如百万像素) ②DPI
位图bitmap(以像素阵列表示图像)
色彩深度:位图中存储一个像素所需的位数,1位为二值图,8位为灰度图(0为黑),24位为RGB彩图
点运算:输出图像各像素点灰度值仅由输入图像对应位置决定(与周围无关)
邻域运算:输出图像中每个像素由对应的像素及邻域内像素共同决定
图像特征:颜色(色彩直方图),纹理(样本点计算相关性和差异性),形状(边缘检测)
图像相似性度量:由图像在特征空间内举例的远近反映
语义鸿沟:人与计算机对同一事物的不同理解
二、底层图像处理-点运算
1.图像增强
增强图像中的有用信息,以改善视觉效果(允许一定程度失真)
图像的对比度:图像从黑到白的渐变层次(层次越多越清晰)
图像直方图:坐标为灰度值(或RGB值),纵坐标为图中出现概率
线性点运算:f(s)=m·s+b
对比度拉伸:通过拉伸一个给定图像的灰度值范围改进图像对比度,新图像中像素标准化:
反图像:将图像中每个像素灰度值取反加255所得
非线性点运算:①对数变换(用于增强图像的低灰度值部分)
②伽马变换(让图像变得更接近人眼感受的响应) c通常为1,γ可变
直方图均衡化:通过灰度变换将图像转化为具有均衡直方图的图像的点运算
直方图规格化:有选择地增强某灰度范围内对比度使具有特定直方图形式
三、邻域运算
1.邻域运算
邻域运算:输出图像中每个像素由对应输入图像及邻域内像素共同决定
滤波:保留或者过滤特定频段信号(低通、高通、带通、带阻(阻止中间某一段))
空间滤波器:邻域(形状&尺度),滤波模板(邻域各点权重矩阵),基于模板的邻域运算(相关、卷积)
相关运算:邻域按滤波模板加权平均算输出点
卷积运算: ,相当于滤波模板中心变换后加权平均
2.空间滤波
图像平滑:减少噪声和不需要细节(噪声往往有高空间频率,即有重复几何结构)
图像平滑的滤波模板:
①均值滤波(线性):选定邻域加权平均
②高斯滤波(线性):信号某个点在尺度空间的表达可以看成是原始信号在空间上一系列加权平滑(即高斯模糊)
③中值滤波(非线性):取邻域中灰度中值为输出像素值
④保守平滑(非线性):如果该点值高于周围最高值/最低值则取周围最高值/最低值,否则不变
图像锐化:增强细节
高通锐化(highpass):滤波模板有负数(邻域部分),计算结果可能为负,需要重新映射。能将图像边缘和其他亮度变化急速区增强,但图像失去原背景色调
高频强调锐化:在高通锐化基础上增加系数,相当于原图加边缘检测<
这篇关于图像内容分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!