
今天上班時,我正在敲代碼,女朋友突然發了一張圖片給我:

“老公,我也想要一個這樣的頭像...” 后面跟著一個可憐的表情,
無奈,不管怎樣我只好應承下來,
下班回到家中,我準備把這個任務完成了,其實完全可以找個美顏的 APP ,上傳圖片,點幾下就好了,但是作為她心目中的技術大神,我肯定不能這么干,不然干嘛要讓我來做這件事情(要深刻理解女生的目的),
我略加思索,感覺這件事情用 Python 來實作并不困難,
實作步驟
實作需要用到的工具是 OpenCV 庫,用 OpenCV 庫里面的圖片處理介面就能滿足需求,
安裝 OpenCV 庫
安裝方法還是我們的老一套:
pip install opencv-python
讀取圖片
我從手機相冊中找了一張照片,發送到微信,然后保存到電腦上,

我們代碼的第一步就是要讀取這張圖片,
import cv2
img = cv2.imread("mv5.jpg")
轉換成灰度圖片
我們讀取的是 RGB 格式的圖片,接著,我們將這張圖片轉換為灰度圖片,
gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
轉換之后,圖片是這樣子的:

反轉灰度影像
接下來,我們要將灰度影像反轉,以便于增強影像的細節,
inverted_image = 255 - gray_image
反轉之后,我們得到的圖片是這樣的:

看起來是不是有點恐怖?
創建鉛筆圖
最后,我們將反轉的影像進行模糊處理,然后再將模糊的影像倒置,最后將灰度影像除以倒置的模糊影像,就可以創建鉛筆草圖了,
blurred = cv2.GaussianBlur(inverted_img, (21, 21), 0)
inverted_blurred = 255 - blurred
pencil_sketch = cv2.divide(gray_img, inverted_blurred, scale=256.0)
我們使用 OpenCV 顯示一下:
cv2.imshow("original", img)
cv2.imshow("pencil", pencil_sketch)
cv2.waitKey(0)
最后輸出的影像是這樣子的:

總結
別看我寫了這么幾個步驟,實際上代碼也就幾行而已,下次妹子問你能不能給她做素描影像,千萬別甩一句:用美圖秀秀啊!不然你會失去一個妹子的!

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/382786.html
標籤:AI
