图像处理笔记《未完待续》

目录

 

数字图像的三要素:

标准的图像处理流程:

1.灰度直方图

2.二值化:

怎么寻找最优二值化值:(可以是固定值或动态值)

上述的方法都是求解的fixed 二值化值

超级可爱的潘潘,hhhhhhhhhhh

3.卷积(滤波)

4.图像处理,

点操作:.线性点操作:F(D)=aD+b     若a>1,则对比度增强,contrast increased

               非线性点操作:F(x)=x+C(D-x) D:最大化灰度水平maximun grey level

图像之间的加减乘除:(应用:去噪声,背景去除)

几何操作:(应用:图像的放大,缩小,旋转)                  插值算法:最近邻插值法,多项式差值


数字图像的三要素:

                                 pixel(picture element 像素)

                                 Grey level(灰度值)

                                Coordinates(坐标)

                                

标准的图像处理流程:

low level (image filtering )————intermediate level(图像分割)————high level(图像识别)

 

1.灰度直方图

.图像灰度值直方图的应用: 灰度值直方图中两个峰之间的谷底即为二值化的最佳阈值)

原始图片

灰度直方图

from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
img=np.array(Image.open('D:/pan.jpg').convert('L'))

plt.figure("lena")
arr=img.flatten()
n, bins, patches = plt.hist(arr, bins=256, normed=1, facecolor='green', alpha=0.75)  
plt.show()

效果

彩色图片的直方图

from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
src=Image.open('D:/pan.jpg')
r,g,b=src.split()

plt.figure("lena")
ar=np.array(r).flatten()
plt.hist(ar, bins=256, normed=1,facecolor='r',edgecolor='r')
ag=np.array(g).flatten()
plt.hist(ag, bins=256, normed=1, facecolor='g',edgecolor='g')
ab=np.array(b).flatten()
plt.hist(ab, bins=256, normed=1, facecolor='b',edgecolor='b')
plt.show()

2.二值化:

(寻找最优的二值化值可以将图像的轮廓清晰的显现出来)即图片上只有两个灰度值,一般用0和255这两个灰度值。

 

怎么寻找最优二值化值:(可以是固定值或动态值)

 

若在灰度直方图上有双峰值,峰值之间的最小值一般就是最优的二值化分界点

寻找最优二值化值算法的初始值经常定义为一个mean值,即图像中灰度值的平均值。

寻找最优二值化算法:1.Isodata 算法

2.OTSU算法(大松算法):

3.entropy算法:(熵算法)

4.triangle算法:

上述的方法都是求解的fixed 二值化值

######固定的fixed二值化值
import cv2 as cv
import matplotlib.pyplot as plt
im = cv.imread('D:/pan.jpg')
imgray = cv.cvtColor(im, cv.COLOR_BGR2GRAY)
retval,dst = cv.threshold(imgray,90,255,cv.THRESH_TOZERO)
plt.imshow(dst,'gray')
plt.show()

结果图:

具体参数的意义参见官网:https://docs.opencv.org/4.1.2/d7/d1b/group__imgproc__misc.html#ggaa9e58d2860d4afa658ef70a9b1115576a147222a96556ebc1d948b372bcd7ac59

5.自适应的二值化算法(动态二值化值):

 

######自适应算法求取二值化值

import cv2 as cv
import matplotlib.pyplot as plt
im = cv.imread('D:/pan.jpg')
imgray = cv.cvtColor(im, cv.COLOR_BGR2GRAY)
im_at_mean = cv.adaptiveThreshold(imgray,255, cv.ADAPTIVE_THRESH_MEAN_C,
                                  cv.THRESH_BINARY,29,13)
plt.imshow(im_at_mean,'gray')
plt.show()

具体参数的意义参见官网:https://docs.opencv.org/4.1.2/d7/d1b/group__imgproc__misc.html#ggaa9e58d2860d4afa658ef70a9b1115576a147222a96556ebc1d948b372bcd7ac59

结果图:

超级可爱的潘潘,hhhhhhhhhhh

 

3.卷积(滤波):可提取边缘,除噪

下面是几个写卷积滤波器效果的博文

1.https://blog.csdn.net/wsp_1138886114/article/details/82872838?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.nonecase

2.https://blog.csdn.net/u013421629/article/details/78899828

 

边缘(edge)的类型;

         

 

edge边缘的属性:梯度,求灰度值的倒数,若超过一定阈值,则认为其是边缘edge。

梯度的计算,可以通过演算子(sobel,roberts,Prewitt演算子等)来实现

通过卷积来实现除噪:  1.高斯滤波:    2.Median 滤波(中值滤波)              

4.图像处理,

 

4.1点操作:

.线性点操作:F(D)=aD+b     若a>1,则对比度增强,contrast increased

                                                                  若0<a<1,则对比度减弱 contrast reduced

                                                                    若a=1&b不等于0,则灰度水平发生变化shift gray level

                                                                      若a<0,则对比反转reverse the contrast

  非线性点操作:F(x)=x+C(D-x) D:最大化灰度水平maximun grey level

                                                                           C:决定在中等灰度范围内增加(C>0)或减少(C<0)的数量(determine the amount of increase(C>0) or decrease(C<0) in the midlevel gray range)

                                                                          

4.2图像之间的加减乘除:(应用:去噪声,背景去除)

4.3几何操作:(应用:图像的放大,缩小,旋转)                 

4.4插值算法:最近邻插值法,多项式差值

 

 

4.5.图像的邻域操作(图像分类)

 

4.6.图像的特征

 

4.7.vtk库

 

5.数学形态学

 

5.1二值的数学形态学

struture element(SE):与kernel的区别是其有中心点

Geometric Shift 平移

binary dilation(扩张):即将F中的每个元素都按照K中的元素做相应的平移。若K中以蓝色的小球为中心点,(在structure element K矩阵中,空间代表不做计算的位置,0代表按照0来计算,1代表按照1来计算,)

                  紫色小球即代表右上方平移一位,即将F向右上方平移一位

                  蓝色小球代表不动,即F保持原始位置不动

                   绿色小球即代表向右平移一位,即F整个矩阵向右平移一位

然后求这三个矩阵的并集,即得到F+K

binary dilation的一些性质

 

binary erosion(腐蚀):与binary dilation不同的是它是求最后得到的新矩阵的交集,并且按照structure element中每个元素的相反方向进行平移。

              

binary opening(先做erotion再做dilation):除噪,求取特征点

binary closing(先做dilation再做erosion):填充图形

 

由dilation和erosion进行组合的一些算法:

1.hit and miss:用于显示物体的轮廓图

2.pattern spectrum:用于一幅图片上的不同尺寸物体的分类研究

3.反复的dilation

4.反复的erosion

 

 

5.2灰度的形态学

灰度值的dilation

 

灰度值erosion

 

5.3(conditional dilation,Geodesic Dilation,Morphological Reconstruction):

对所要处理的空间进行重建,例如对一张图片进行除噪以后,图片中的某些非噪点部分也被破坏掉,这时可通过conditional dilation对所处理的空间进行重建,来恢复破坏掉的非噪点部分。

一。 对于二值化的两张图片M,V来说,conditional dilation算法如下

M:Marker 

V:Mask               M是V的一个子集,对M进行dilation,然后取M dilation后的图像与V的交集,重复n次,直到第n次M dilation后的图像与第n-1次M dilation后的图像相等。

注意:SE不能太大,要足够的小。尽量避免噪声和图像中所需要的区有连接关系,所以需要对Mask做一些预处理,例如打断Mask中的一些连接。

二。对于灰度值图片来说(conditional dilation)

首先对marker做一个灰度化的dilation,然后检查dilation后的每一个灰度值是否超过mask的限制,重复上述过程直至稳定,即第n次dilation的结果和第n-1次dilation后的结果一致。

 

 

5.4.OBR。CBR

 

5.5分水岭算法(实现对图像的分割)

 

6.1彩色图像

表达彩色图像的方法:1.RGB

                                    2.HIS(H:色度,I:总体的亮度。S:饱和度)

彩色照片的恢复:

 

图像的分割

ROI(region of interest):

基于能量的图像分割:DDC模型,能量方程

图像分割() 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值