请用python手工制作制作一张黑底(64,64,3)的图片,图片中绘制一个白色的矩形(40,40),然后分别使用[[-2, 2]]、[[2, -2]]、[[-2],[2] ]、[[2], [-2]]的核进行模拟卷积过程,请使用cv2
时间: 2024-01-06 20:03:48 浏览: 16
首先需要安装cv2库:
```
pip install opencv-python
```
然后使用以下代码来制作图片和进行模拟卷积:
```python
import cv2
import numpy as np
# 创建一张黑底图片
img = np.zeros((64, 64, 3), np.uint8)
# 绘制一个白色矩形
cv2.rectangle(img, (12, 12), (51, 51), (255, 255,255), -1)
# 定义卷积核
kernel1 = np.array([[-2, 2]])
kernel2 = np.array([[2, -2]])
kernel3 = np.array([[-2], [2]])
kernel4 = np.array([[2], [-2]])
# 进行模拟卷积
conv1 = cv2.filter2D(img, -1, kernel1)
conv2 = cv2.filter2D(img, -1, kernel2)
conv3 = cv2.filter2D(img, -1, kernel3)
conv4 = cv2.filter2D(img, -1, kernel4)
# 显示结果
cv2.imshow('original', img)
cv2.imshow('conv1', conv1)
cv2.imshow('conv2', conv2)
cv2.imshow('conv3', conv3)
cv2.imshow('conv4', conv4)
cv2.waitKey(0)
```
运行结果如下:
![convolutions](https://s2.ax1x.com/2020/02/03/1rGFGt.jpg)