最近终于完结了图像处理的课程,打算利用几篇文章总结一下几个简单的模型和应用。首先第一篇也就是这篇总要是展示一下利用opencv用五行代码实现将图像转化为素描图,效果如下,第一张是原图,第二张是转换后的素描效果图:


整个过程如下(如果没有安装opencv,先用pip安装对应模块
pip install opencv-python)
首先是导入模块,读入图片:
import cv2img = cv2.imread(pic_dir)
利用cvtColor将图片转化为灰度图
gray =cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
再用高斯滤波函数进行模糊化处理,去噪(高斯滤波是一种线性平滑滤波,适用于消除高斯噪声)
gauss = cv2.GaussianBlur(gray, (7,7), 0)

然后利用canny算子进行边缘检测,检测出图片的大致轮廓
canny = cv2.Canny(gauss, 50, 150)
逆二元阈值化处理,像素值大于100的转化0,小于100的转化255
ret,result = cv2.threshold(canny, 100, 255, cv2.THRESH_BINARY_INV)调用imshow函数读出图片
cv2.imshow("result", result)cv2.waitKey(0)
成功

只需要五六行代码就可以实现转化
文章转载自每日一Python,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




