前言
看了很多人用matlab写的网络,竟然没有python代码。作为正在研究PCNN模型的一名学生,必须安排。
数学模型
打公式太麻烦,直接从截图啦,全连接模型,如下图1。
python代码
"""
Created on Sun Jun 6 16:48:38 2021PCNN全连接
"""
import numpy as np
import matplotlib.pyplot as plt
import cv2#将输入图片进行灰度化处理
def image_gray(f):if f.ndim ==3 :f_g = cv2.cvtColor(f,cv2.COLOR_BGR2GRAY)else:f_g = freturn f_g
#对图片进行边缘扩充
def edge_expande(f_gray):f_S = cv2.copyMakeBorder(f_gray,1,1,1,1,cv2.BORDER_CONSTANT,value = 0)return f_S
#对图片进行边缘裁剪
def edge_cut(f_gray):f_c = f_gray[1:f_gray.shape[0]-1,1:f_gray.shape[1]-1]return f_c
#人工设置参数
def parameter1(f_Sij):f1 = np.exp(-0.05)v1 = 0.2v2 = 0.8u1 = 0.1f2 = 0.5e1 = np.exp(-0.2)e2 = np.max(f_Sij)+1W = np.array([[0.01