[toc]
给图片打标签的工具(不要有中文路径)
https://github.com/tzutalin/labelImg
标注工具labelimg和labelme
矩形标注工具:labelimg
多边形标准工具:labelme
前者官网发布了可执行文件,后者只有python源码,如果需要编译windows exe,可以这样:
pip install labelme
然后运行labelme确保程序可以正常执行
下载源码:
cd D:\github\wkentaro\labelme-3.16.7
pip install .
pip install pyinstaller
pyinstaller labelme.spec
用数学公式描述的图像,用一系列绘图指令表示图像:图像中每个形状都用一个完整的公式描述,称为一个对象。
优点:
缺点:
通过像素点表示图像,每个像素具有颜色属性和位置属性。
灰度图像是除了黑白之外,还添加了第三种颜色:灰色,灰色把灰度划分为 256 个不同的亮度,例如纯白色,它的亮度级别是255。
图像转化为灰度图像有以下几种算法:
浮点算法:Gray = R * 0.3 + G * 0.59 + B * 0.11
整数方法:Gray = ( R * 30 + G * 59 + B * 11 ) / 100
移位方法:Gray = ( R * 76 + G * 151 + B * 28 ) >> 8
平均值法:Gray = ( R + G + B ) / 3
仅取绿色:Gray = G
加权平均值算法:R = G = B = R * 0.299 + G * 0.587 + B * 0.144
二值图像 (Binary Image)
二值图像是取值只有0和1的逻辑数组
索引颜色图像(Index Color)
索引颜色通常也称为映射颜色。在这种模式下,颜色是一组预先定义的、有限的颜色。索引颜色的图像最多只能显示256种颜色。索引颜色图像在图像文件里定义索引颜色。打开该文件时,构成该图像具体颜色的索引值就被读入程序里,然后根据索引值找到最终的颜色。
伪彩色图像(Pseudo-color)
我们知道可以观察出颜色的光的波长范围是有限的,仅仅有那么一小段,换句话说也就是说有一大段光,仅仅有一小段有颜色。
其它都是灰度的,但人类视觉有一个特点就是,仅仅能分辨出二十几种灰度,也就是说採集到的灰度图像分辨率超级高。有一千个灰度级,但非常遗憾。
人们仅仅能看出二十几个,也就是说信息损失了五十倍,但人类视觉对彩色的分辨能力相当强,可以分辨出几千种色度。
在从採集的角度说下伪彩和真彩色,伪彩色原始图像是灰度图像
真彩色图像(True Color)
自然界中几乎所有颜色都可以由红、绿、蓝(R,G,B)组合而成。真彩色图像中,每一个像素由红、绿和蓝三个字节组成,每个字节为8bit,表示0到255之间的不同的亮度值。256×256×256,能表示约1670万种颜色。颜色深度为每像素24位的数字图像是目前所能获取、浏览和保存的颜色信息最丰富的彩色图像,由于它所表达的颜色远远超出了人眼所能辨别的范围,故将其称为“真彩色”。
RGB按1:1:1取值的时候是一个灰度图像
图像文件的格式,即图像文件的数据构成。一般每种图像文件均有一个文件头,在文件头之后是图像数据。
色彩深度(Color Depth,简称色深),是用 位(bit)数来表示数码影像色彩数目的单位。
色彩深度越高,可用的颜色就越多,颜色之间的过渡更自然和平滑。
像素深度越深,所占用的存储空间越大。
相反,如果像素深度太浅,那也影响图像的质量,图像看起来让人觉得很粗糙和很不自然。
指每个像素所用的位数(bit),像素位决定了彩色图像的每个像素可能的颜色数,或者确定灰度图像每个像素可能有的灰度级数。例如,一个彩色图像的每个像素用R,G,B,三个分量来表示,如每个分量用8位,那么一个像素用24位表示,就说这个像素的深度是24
位深度计算是以2为底数的指数的幂。常见的有:
图像加法有两种方式,一种是通过 Numpy 直接对两个图像进行相加,另一种是通过 OpenCV 的 add() 函数进行相加。
不管使用哪种方法,相加的两个图像必须具有相同的深度和类型,简单理解就是图像的大小和类型必须一致。
Numpy 的运算方法是: img = img1 + img2 ,然后再对最终的运算结果取模。
当最终的像素值 <= 255 时,则运算结果直接为 img1 + img2 。
当最终的像素值 > 255 时,则运算的结果需对 255 进行取模运算(% 256)。
OpenCV 的运算方式是直接调用 add() 函数进行的,这时的运算方式是饱和运算。
当最终的像素值 <= 255 时,则运算结果直接为 img1 + img2 。
当最终的像素值 > 255 时,这时则是饱和运算,结果固定为 255 。
Cancy理论和方法,数学形态学理论,多尺度分辨与分析理论,线性理论,模糊数学理论,分类理论,梯度理论,基于区域的方法,自适应方法,小波理论,混沌免疫模糊聚类法,Hilbeit理论,模板分解和图像积分理论
在图像增强领域,运用的主要知识有:模糊数学理论,直方图法,小波理论,多尺度分析理论,非线性理论,HSI彩色模型饱和度分量法,Retinex理论,Contourlet变换等。
在空域中,图像处理的方法主要内容有灰度变换,空域滤波,直方图处理等,基于变换域的图像处理方法是将图像信息特征从时域中转换到频域下,利用一定的指数修正方法修正变换域内的系数,从而获得增强后的图像,与空域方法相比更好的是频域,包括傅里叶变换的算法,小波变换算法,同时这些方法也存在着一定的缺点,其中傅里叶变换容易出现振铃现象,小波分析算法在多分辨率分析中可以有效抑制图像噪声,易于控制图像增强区域,小波分析具有有限的方向,对于提取方向信息不能很好表示。
三角形滤波法,Retinex理论,统计理论,小波理论分析,非线性理论,中值理论,偏微分方程法,马尔科夫随机场理论,多尺度分析理论,贝叶斯理论,模拟退火理论
常用的滤波算法有中值滤波、均值滤波、高斯滤波等,中值滤波虽然有避免模糊的优点,但是在图像角点和线条等细节上出现丢失现象。
中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术。它也是一种邻域运算,类似于卷积,但是计算的不是加权求和,而是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围像素灰度值的差比较大的像素改取与周围的像素值接近的值,从而可以消除孤立的噪声点。它能减弱或消除傅立叶空间的高频分量,但影响低频分量。因为高频分量对应图像中的区域边缘的灰度值具有较大较快变化的部分,该滤波可将这些分量滤除,使图像平滑。值滤波技术在衰减噪声的同时能较好的保护图像的边缘。
均值:反映了图像的亮度,均值越大说明图像亮度越大,反之越小;
标准差:反映了图像像素值与均值的离散程度,标准差越大说明图像的质量越好;
平均梯度:反映了图像的清晰度和纹理变化,平均梯度越大说明图像越清晰;
通道:
单通道图,俗称灰度图,每个像素点只能有有一个值表示颜色,它的像素值在0到255之间,0是黑色,255是白色,中间值是一些不同等级的灰色。(也有3通道的灰度图,3通道灰度图只有一个通道有值,其他两个通道的值都是零)。
三通道图,每个像素点都有3个值表示 ,所以就是3通道。也有4通道的图。例如RGB图片即为三通道图片,RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。总之,每一个点由三个值表示。