公司项目新增需求:
爬虫抓取的封面图,需要做水印去除处理,因此需要封装一个服务,进行水印处理!想到了opencv库!
mac安装(失败):
本人可能由于mac版本问题并未成功,会报如下异常
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/cv2/cv2.cpython-37m-darwin.so, 2): Symbol not found: _clock_gettime
Referenced from: /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/cv2/.dylibs/libavutil.56.22.100.dylib (which was built for Mac OS X 10.12)
Expected in: /usr/lib/libSystem.B.dylib
in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/cv2/.dylibs/libavutil.56.22.100.dylib
linux服务器安装(成功):
pip install opencv-python
如果出现问题:
yum install -y python-qt4
关于去水印代码:
参考:
https://www.cnblogs.com/dockers/p/9902202.html
https://blog.csdn.net/Maximun/article/details/85064274
https://www.jianshu.com/p/2da98431a779
https://blog.csdn.net/u011983997/article/details/80420339
图片:
def parse_image():
path = "./demo1.jpg" # 记得不要有中文路径
img = cv2.imread(path)
print(img)
height, width = img.shape[0:2]
# 开始操作
thresh = cv2.inRange(img, np.array([0, 0, 0]), np.array([192, 192, 192]))
scan = np.ones((3, 3), np.uint8)
cor = cv2.dilate(thresh, scan, iterations=1)
specular = cv2.inpaint(img, cor, 5, flags=cv2.INPAINT_TELEA)
cv2.imwrite("./demo_result.png", specular)
# 操作结束,下面开始是输出图片的代码
# cv2.namedWindow("image", 0)
# cv2.resizedWindow("image", int(width / 2), int(height / 2))
# cv2.imshow("image", img)
# cv2.namedWindow("modified", 0)
# cv2.resizeWindow("modified", int(width / 2), int(height / 2))
# cv2.imshow("modified", specular)
# cv2.waitKey(0)
# cv2.destroyAllWindows()
pass