擅长:python、mysql、java
<p>假设<code>(height, width, channels)</code>的标准图像数组组织,您可以直接使用<code>numpy</code>矩阵乘法。在</p>
<pre><code>from skimage.data import lena # Color image version of lena. If you don't have skimage, use any image
import matplotlib.pyplot as plt
img = lena().astype(float) / 256.
plt.figure()
plt.subplot(1, 2, 1)
plt.imshow(img)
sepia_filter = np.array([[.393, .769, .189],
[.349, .686, .168],
[.272, .534, .131]])
# here goes the filtering
sepia_img = img.dot(sepia_filter.T)
# Unfortunately your filter lines do not have unit sum, so we need to rescale
sepia_img /= sepia_img.max()
plt.subplot(1, 2, 2)
plt.imshow(sepia_img)
plt.show()
</code></pre>