【发布时间】:2014-07-13 13:05:34
【问题描述】:
如何使用 OpenCV 在 Python 中编写以下 MATLAB 代码?我的最后一行代码有问题,我不知道如何实现那个“单一”功能。你能帮助我吗 ?谢谢。
img = imread('');
grayImage = rgb2gray(img);
kernel1 = -1 * ones(3)/9;
kernel1(2,2) = 8/9
filteredImage = imfilter(single(grayImage), kernel1);
到目前为止,我的代码如下所示:
import cv2
import numpy as np
img = cv2.imread('', 0);
kernel1 = np.ones((3,3), np.float32)/9
kernel1[1][1] = 0.8888889
filteredImage = cv2.filter2D(img, -1, kernel1)
【问题讨论】:
-
你可以使用
img.astype(np.float32)将numpy数组转换为单精度浮点类型 -
很遗憾,它不起作用。整个图像变成白色,上面只有一些黑点。
-
这取决于您之后如何显示图像,您可能需要将其重新缩放到 [0.0,1.0] 范围
标签: python matlab opencv image-processing code-translation