opencv 从图像创建着色书页

olqngx59  于 2023-06-24  发布在  其他
关注(0)|答案(1)|浏览(96)

我想玩和学习一点图像处理。
我找到了一个页面,可以将任何图像转换为涂色书素描,它在这方面做得非常好。
原件:x1c 0d1x草图:

我想重建这样的东西。我查看了OpenCV,并认为通过突出显示轮廓/边缘可能会起作用。
我用Canny边缘检测得到了一些结果:

img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
img_blur = cv2.GaussianBlur(img_gray, (3, 3), 0)
edges = cv2.Canny(image=img_gray, threshold1=20, threshold2=100)  # Canny Edge Detection
ret,th2 = cv2.threshold(edges,100,255,cv2.THRESH_BINARY_INV)
cv2.imshow('Canny Edge Detection', th2)

我的结果不是那么平滑和详细。例如,文字或我的猫的脸。所以我的问题是,我是否走在正确的道路上,如果是的话,我还能尝试什么?
或者我需要用机器学习模型来做这件事?为此,我需要大量的数据来训练模型...
Thank you!:)

q3aa0525

q3aa05251#

你可以用简单的openCV技术得到草图的图像,我用下面的代码得到了附件中的图像

import cv2
    import matplotlib.pyplot as plt
    image = cv2.imread('input_image.jpg')
    gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
    blurred = cv2.GaussianBlur(gray, (5, 5), 0)
    edges = cv2.Canny(blurred, 30, 100)
    edges_inv = cv2.bitwise_not(edges)
    plt.imshow( edges_inv, cmap = 'gray')

相关问题