版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
CNN卷积⽹络_图像处理⽂章⽬录本⽂主要从卷积,图像,图像的卷积处理,卷积神经⽹络CNN的构建三部分,从理论到代码应⽤使⽤python3.6编译器,jupyter编辑器未完待续…⼀、卷积介绍1、origination:⼀个⾯积不变的长⽅形,底边被挤的窄窄的,⾼度被挤的⾼⾼的,在数学中它可以被挤到⽆限⾼,但即使它⽆限瘦、⽆限⾼、但它仍然保持⾯积不变;为了证实它的存在,可以对它进⾏积分。2、significance:意义1假设system1,时刻t输⼊为x(t),输出为y(t),系统响应时间为h(t),按道理输⼊输出关系是y(y)=h(t)*x(t);however,系统输出不仅与系统t时刻相关,还与t时刻之前响应相关,所以t时刻的输出应该为t时刻之前系统响应函数在各个时刻响应的叠加,这就是卷积,⽤数学公式表⽰就是y(s)=∫x(t)h(s-t)dt物理意义卷积图像处理⽅⾯的应⽤⽤⼀个模板和⼀幅图像进⾏卷积,对于图像上的⼀个点,让模板的原点和该点重合,然后模板上的点和图像上对应的点相乘,然后各点的积相加,就得到了该点的卷积值。对图像上的每个点都这样处理。由于⼤多数模板都是对称的,所以模板不旋转。卷积是⼀种积分运算,⽤来求两个曲线重叠区域⾯积。可以看作加权求和,可以⽤来消除噪声、特征增强。把⼀个点的像素值⽤它周围的点的像素值的加权平均代替。卷积是⼀种线性运算,图像处理中常见的mask运算都是卷积,⼴泛应⽤于图像滤波。卷积在数据处理中⽤来平滑,卷积有平滑效应和展宽效应.3、卷积计算为了更好的理解,直接上例⼦a-、滤波器(卷积核)a、卷积例⼦b、卷积之padding填充填充⽅法有:补零填充边界复制填充,镜像填充,块填充c、步幅###d、计算增加参数后,卷积输出shapee、注意f、整体理解⼆、图像处理基础1、读取图像importnumpyasnpimportmatplotlib.pyplotaspltimportsys,ossys.path.append(os.pardir)%matplotlibinlineimg=np.array(plt.imread("../data/刘亦菲.jpg"))#将图像格式转化np.array格式,⽅便后续处理plt.figure("刘⼤姐")plt.imshow(img)#函数负责对图像进⾏处理,并显⽰其格式,但是不能显⽰plt.axis("off")plt.show()print(img.shape)print(img.dtype)print(img.size)print(type(img))print(img[0,0])#因为是RGB三通道(1200,1920,3)uint86912000<class'numpy.ndarray'>[9596124]2、撒点椒盐#随机⽣成5000个椒盐rows,cols,dims=img.shapeforiinrange(5000):在x=np.random.randint(0,rows)#0-rows之间随便取值y=np.random.randint(0,cols)#img[x,y,:]=255#将这个随机点设置为⽩点,即椒盐plt.figure("beauty")plt.imshow(img)plt.axis('off')plt.show()3、图像⼆值化#图像⼆值化fromPILimportImageimportnumpyasnpimportmatplotlib.pyplotaspltimg=np.array(Image.open("../data/刘亦菲.jpg").convert('L'))rows,cols=img.shapeforiinrange(rows):forjinrange(cols):if(img[i,j]<=128):img[i,j]=0else:img[i,j]=1plt.figure("MonaLisa")plt.imshow(img,cmap='gray')plt.axis('off')plt.show()4、分量提取importmatplotlib.pyplotaspltimportnumpyasnpimporttensorflowastfimg=np.array(plt.imread("../data/刘亦菲.jpg"))plt.imshow(img[:,:,0],cmap="gray")#L分量转化为灰度图plt.show()plt.imshow(img[:,:,1],cmap="gray")#G分量转化为灰度图plt.show()plt.imshow(img[:,:,1],)#只显⽰G分量plt.show()5、灰度图⽚fromPILimportImageimg=np.array([1])#读取图⽚并转换为灰度图⽚,img_1=Image.open("../data/刘亦菲.jpg").convert('1')#⾮⿊即⽩⿊img=np.array(Image.open("../data/刘亦菲.jpg").convert('L'))#0255⽩,其他数字灰度不同plt.imshow(img_1,cmap="gray")#图⽚只显⽰像素点为0或者255的值plt.show()plt.imshow(img,cmap="gray")plt.show()6、图像卷积处理之numpy本部分的图像卷积处理使⽤的是科学计算包numpy,利⽤numpy的⼴播功能,能够很简单的进⾏矩阵运。本部分的图像卷积,是直接将图像的每⼀个像素点的三个通道的像素都进⾏了卷积处理,然后显⽰#图像卷积运算importnumpyasnpimportmatplotlib.pyplotaspltimportsyssys.path.append("../")%matplotlibinlineimg=np.array(plt.imread("../data/刘亦菲.jpg"))#构建输出矩阵形状,使⽤0填充,defgenerate_dst(img,kernel,stride=1,padding=0):#默认步幅=1,填充为0m=(img.shape[0]+2*padding-kernel.shape[0]+stride)/stride#⾼n=(img.shape[1]+2*padding-kernel.shape[1]+stride)/stride#长rgb_channel=img.shape[2]#RGB三通道print("新构建的图⽚形状%0.3f,%0.3f,%0.3f"%(m,n,rgb_channel))returnnp.zeros((int(m),int(n),int(rgb_channel)),)#单个卷积核的运算defdiv_convolution(img_block,kernel):_img=np.array(img_block).flatten()#转化为⼀维_kernel=np.array(kernel).flatten()#returnnp.mean(_img*_kernel)#returnnp.sum(_img*_kernel)#正常的卷积运算是直接加和,并不进⾏均值计算#将图⽚按照convolution变换,注意这⾥还没有对最终结果进⾏归⼀化defconvolution2dst(img,dst,kernel):foriinrange(dst.shape[0]):forjinrange(dst.shape[1]):forkinrange(dst.shape[2]):#通道dst[i,j,k]=div_convolution(img[i:i+kernel.shape[0],j:j+kernel.shape[1],k],#kernel与⼀致的矩阵kernel)#将图⽚归⼀化到256之间defimg2normalization_256(img_convolution):_img=img_convolution.flatten()_max=np.max(_img)_min=np.min(_img)_img=(_img-_min)*255/(_max-_min)_img=np.array(_img,dtype="int64")#将所有数据转化为int型img_convolution_normalization=_img.reshape((img_convolution.shape[0],img_convolution.shape[1],img_convolution.shape[2]))returnimg_convolution_normalizationdefconvolution(img,kernel,is_normalization=False):dst=generate_dst(img,kernel)convolution2dst(img,dst,kernel)ifnotis_normalization:returndstelse:new_img=img2normalization_256(dst)returnnew_imgimg=np.array(plt.imread("../data/刘亦菲.jpg"))test_kernel=np.array([[-1,-1,-1],[-1,9,-1],[-1,-1,-1]])img_convolution=convolution(img,test_kernel,True)#显⽰直接卷积后的结果plt.figure("刘⼤姐")plt.imshow(img_convolution)plt.axis("off")plt.show()print(img_convolution[0,0])#显⽰处理完的图像img_convolution=img2normalization_256(img_convolution)plt.figure("刘⼤姐")plt.imshow(img_convolution)plt.axis("off")plt.show()7、图像卷积处理之tensorflowfromPILimportImageimportmatplotlib.pyplotaspltimportnumpyasnpimporttensorflowastf%matplotlibinline'''tf.nn.conv2d(input=,#输⼊图像[batch,height,width,channels]filter=,#卷积核,strides=,#步幅⼀维向量,长度为4padding,#扩展SAME表⽰在扫描的时候,如果遇到卷积核⽐剩下的元素要⼤时,这个时候需要补0进⾏最后⼀次的⾏扫描或者列扫描use_cudnn#启⽤cudnn加速name)#执⾏该操作name'''img=np.array([1])#读取图⽚并转换为灰度图⽚,Image.open("../data/刘亦菲.jpg").convert('1')#⾮⿊即⽩img=np.array(Image.open("../data/刘亦菲.jpg").convert('L'))#0255,⿊⽩其他数字灰度不同img_full=np.reshape(img,[1,img.shape[0],img.shape[1],1])print(img_full.shape)#(1,1200,1920,1)#创建占位input_full=tf.Variable(tf.constant(1.0,shape=img_full.shape))#input_full=tf.Variable(img_R_full,dtype=tf.float32)#可以直接输⼊#创建卷积核filter_kernel=tf.Variable(tf.constant([#[1.0,2,1],[0,0,0],[-1,-2,-1]#⽔平边缘滤波器#[0,-4,0],[-4,16,-4],[0,-4,0]#整体边缘滤波器#[1,0,-1],[2,0,-2],[1,0,-1]#垂直边缘滤波器[-1,-1,-1],[-1,9,-1],[-1,-1,-1]],shape=[3,3,1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年公积金贷款房屋装修协议
- 文化艺术机构股份分配协议书
- 2024年债权转让中介协议书
- 2024年企业授权代理协议
- 2024年合作经营股权协议
- 2024年医疗机构实验室台面设备采购协议
- 2024年二手房快速销售独家代理协议
- 2024年个人应急贷款协议样本
- 工伤补偿协议书
- 2024年专项:废弃厂房拆除补偿协议
- 上海市普通高中学业水平合格性考试地理基础知识点复习提纲
- 废旧风机叶片循环利用项目可行性研究报告-积极稳妥推进碳达峰碳中和
- 中医脑病科缺血性中风(脑梗死恢复期)中医诊疗方案临床疗效分析总结
- 中国人工智能系列白皮书一元宇宙技术(2024 版)
- 《甘肃省中医康复中心建设标准(2021版)》
- 高中英语外刊-小猫钓鱼50篇
- PowerPoint培训教程课件
- 医疗绿色通道医联体协议书
- 高考名句名篇《菩萨蛮 书江西造口壁》课件
- 兽医病理学智慧树知到期末考试答案章节答案2024年浙江农林大学
- 大学生生涯发展展示 (修改版)
评论
0/150
提交评论