首页 > 编程知识 正文

图像掩膜(卷积和的性质)

时间:2023-05-04 16:27:13 阅读:94999 作者:3027

图像的卷积和池化操作

离散域

体积积分是连续函数卷积及离散函数卷积。 因为在我们的实际工作中大多数情况下是数字化的场景,所以离散域的卷积操作是必要的。 对于两个离散函数f和g,卷积运算将连续函数的积分操作转换为等价求和。

卷积核

图像的话,它属于二维数据。 它对应于2D函数。 可以用过滤器过滤图像。 这个过滤器是卷积核。 一般来说,筛选器的每个维度可以包含两到五个元素,并且处理效果因筛选器而异。

对于图像,特定的卷积核处理将提供与原始图像相同的图像,但可以突出图像中的特定元素(如线和边)或隐藏图像中的特定元素。

照片的卷积

我们定义了Identity、Laplacian、左求解器、上解器、蓝牙五个过滤器。 都是3 x 3的卷积核,不同的卷积核强调原始图像的不同特征属性。

Blur滤波器相当于计算3x3内相邻点的平均值。 身份过滤器只返回原始的像素值。 Laplacian滤波器是用于强调边缘的微分滤波器。 左求解滤波器用于检测水平边缘,上求解滤波器用于检测垂直边缘。

kernels=有序光盘((identity ) : ) [ 0,0,0 ],[0.1 .0.],[0.0 .0.],

: [1.2 .1.]、[0.0 .0.]、[-1 .-2.-1.]、

左求解器: [1.0 .-1.],[2.0 .-2.],[1.0 .-1.],

: [1.2 .1.]、[0.0 .0.]、[-1 .-2.-1.]、

:

[1./16 .1./8.1./16.]]}

defapply 3x 3内核(图像,内核) :

new image=NP.array (图像) )。

表单范围(1,image.shape[0] - 2 ) :

forninrange(1,image.shape[1] - 2 ) :

newelement=0

财富(0,3 ) :

财富(0,3 ) :

newelement=newelementimage [ m-1 I ] [ n-1 j ] *科内尔[ I ] [ j ]

新图像=新元素

返回新影像

arr=imageio.im读取(数据/dog.jpg ) (:0 ).as类型(网址.浮点) ) ) ) ) ) )。

谷歌(1)。

j=0

位置=[ 321,322,323,324,325,326 ]

for key,kernels.items () :的值

PLT.subplot (位置[ j ] )。

out=应用3x 3内核(地球,值) ) ) ) ) ) ) ) ) ) ) )。

PLT.im show (输出,映射=获取映射) '二进制_ r ' )

j=j 1

plt.show () )

复制代码

在生成的图表中,第一个子图像是未更改的图像。 由于这里使用的是Identity滤波器,因此会继续进行位置边缘检测、水平边缘检测、垂直边缘检测,最后进行模糊运算。

照片池化

池化操作主要有一个核心减少参数的效果,比较有名的池化操作是最大值(最大值池化)、平均值)平均值池化)、最小值)最小值池化)。 这减少了从前一个网络层进入的信息量,降低了复杂性,同时保留了最重要的信息元素。 换句话说,它构建了信息的紧凑表示形式。

应用2 x2轮询(图像,条纹) :

newimage=NP.zeros((int ) image.shape[0]/2 ),int ) image.shape[1]/2 ) ),NP .浮点32 ) )。

表单范围(1,image.shape [0]-2,2 ) :

forninrange(1,image.shape [1]-2,2 ) :

新图像[整数(m/2,整数)整数/2]=整数.最大值]新图像[ m :米2,n:n 2]

是返回(新图像)

arr=imageio.im读取(数据/dog.jpg ) (:0 ).as类型(网址.浮点) ) ) ) ) ) )。

谷歌(1)。

美国广播公司(121 ) )。

PLT.im show (地理位置,地理位置=地理位置) '二进制_ r ' )

out=应用2 x2轮询(arr,1 ) ) )。

PLT.subplot(122 ) )。

PLT.im show (输出,映射=获取映射) '二进制_ r ' )

plt.show () )

复制代码

出现了图像池化前后的一些差异,最终生成的图像分辨率低,整体像素数约为四分之一。

github

github.com/sea-boat/De…

---------建议阅读

我的开源项目总结(机器学习、NLP、网络IO、AIML、mysql协议、chatbot ) ) ) )。

为什么要写《Tomcat内核设计剖析》

我的2017篇文章总结——机器学习篇

我的2017篇文章总结了——Java和中间件

我的2017篇文章总结——深度学习篇

我的2017篇文章总结——JDK源代码篇

我的2017篇文章总结——自然语言处理篇

我的2017篇文章总结——Java同时编辑

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。