使用OpenCV创建波纹图案效果

时间:2018-11-05 17:48:05

标签: opencv image-processing

我想拍摄清晰的图像,使其看起来像是从屏幕上拍摄的照片。
是否可以使用OpenCV或任何其他工具来做到这一点?

示例:
moire example

2 个答案:

答案 0 :(得分:0)

您是否尝试过低通滤波?

https://docs.opencv.org/3.4.3/dd/d6a/tutorial_js_filtering.html

对于2x3内核,它看起来更好:

  

cv.Mat.eye(2,3,cv.CV_32FC1);

然后将图像拖移3个通道,并使用阈值清洁绿色和红色。

答案 1 :(得分:0)

您可以使用 addWeighted OpenCV 函数执行此操作。通过添加带有莫尔图案图像(如 this image)的图像。以下是添加带有莫尔图案图像的图像的方法:

img = cv2.imread("your_image.jpg")
mask = cv2.imread("mask_image.jpg")
mask = cv2.resize(mask, (img.shape[1], img.shape[0]))

alpha = 0.7
beta = (1.0 - alpha)
gamma = 0.0

masked_img = cv2.addWeighted(img, alpha, mask, beta, gamma)

您可以使用 0 到 1 范围内的任何数字更改 alpha