convolution by numpy
来源:互联网 发布:淘宝网购物女装短裙 编辑:程序博客网 时间:2024/06/03 18:52
手动实现一个卷积
其实就是数字图像处理的作业= =其实有时间的话想搞一下im2col,不过也没啥用,应该直接用框架就好了
计算公式
输入图片大小 W×W Filter大小 F×F 步长 S padding的像素数 P
N = (W − F + 2P )/S+1
padding = ‘SAME’ => W = N
S(W-1) = W-F+2P P = ((S-1)W-S+F)/2
代码习惯用jupyter写了。。。罪恶的循环啊。。。
from scipy.misc import imread,imshow,imsaveimport numpy as npimg = np.floor(imread("/home/ryan/Desktop/cat.jpg"))# 平滑和laplacekernel = np.ones([3,3])/9kernel = np.array([ [0,-1,0], [-1,4,-1], [0,-1,0] ])# 上图计算各种参数shape = img.shapestride = 1S = strideF = 3W = shape[0]H = shape[1]Pw = round(((S-1)*W-S+F)/2)Ph = round(((S-1)*H-S+F)/2)# paddingpadding_img = np.zeros([W+2*Pw,H+2*Ph,shape[2]])for c in range(shape[2]): padding_img[Pw:W+Pw,Ph:H+Ph,c] = img[:,:,c]output = np.zeros_like(a=padding_img)#convolutionfor c in range(shape[2]): for i in range(Pw, shape[0]+Pw,stride): for j in range(Ph,shape[1]+Ph,stride): output[i-Pw,j-Ph,c] = np.sum(padding_img[i-Pw:i+Pw+1,j-Ph:j+Ph+1,c]*kernel)imshow(output)
原来的小猫
小猫现在长这样
0 0
- convolution by numpy
- Convolution
- Convolution
- Convolution
- Convolution卷积算法python以numpy,Matplotlib实现
- Multi-Scale Context Aggregation by Dilated Convolution训练记录
- Multi-Scale Context Aggregation by Dilated Convolution读书笔记
- linear convolution/periodic convolution/circular convolution
- Separable convolution
- Convolution Reverb
- convolution layer
- convolution theorem
- Dilated Convolution
- dilation convolution
- dilated convolution
- Convolution Layer
- deformable convolution
- dilated convolution
- Opencv源码分析HoughCircles
- Android O(SDK 8.0)新特性
- 蓝底彩照变白底,MATLAB能帮您实现
- 525. Contiguous Array
- activiti学习笔记5--history configuration--20170405
- convolution by numpy
- Hdu-1172-猜数字 [枚举]
- 线程同步与互斥——信号量
- Python开发必备神器之一:virtualenv
- 递归递推练习―G―小银考呀考不过四级
- Java8---5.方法引用
- 如何获取大量随机数
- 设计模式(二十) 观察者模式
- Python: 熟悉又陌生的字符编码(转载)