暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

python图像处理-用五行代码实现素描转换

每日一Python 2020-11-26
233

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

 

整个过程如下(如果没有安装opencv,先用pip安装对应模块

pip install opencv-python)

首先是导入模块,读入图片:

import cv2
img = 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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论