我用 Python 集齊了五福

新的一年又要到來了,各個大的公司又在這年末為大家送上了新春的祝福,支付寶還是延續了這幾年的傳統,在年末為大家送上了集五福的活動,為了大家能更快更好的掃出來大大的“福”,今天小編就帶領大家利用python做一個一“福”轉“N”福的小demo。

1

先看效果圖


首先,我們需要拿到一張大大的“福”字圖片,然後,我們就可以對於這張圖進行操作了。我們今天要實現的就是將一張“福”字轉化為五種不同的風格,現為大家呈上效果圖。

我用 Python 集齊了五福

首先為大家展示的是灰度圖,灰度圖就是將彩色的RGB三通道圖像,轉化為單通道的灰色圖像,RGB三個通道的顏色通過比例係數進行相加。程序如下所示。

我用 Python 集齊了五福


2

輪廓圖

接下來是輪廓圖,輪廓圖需要輸入一張灰度圖像,首先是對圖像進行濾波處理,去除噪聲,然後針對於灰色的圖片中像素突然變化的點來檢測邊緣,什麼是邊緣突然變化呢,參考我們的灰度圖,灰度圖中,“福”字的邊緣同背景顏色出現了巨大的差異,這種差異就是尋找邊緣輪廓的依據,程序如下圖所示。

我用 Python 集齊了五福

對於反色圖,理解起來並不難,就是用255減去將原圖中的每一個像素值,得到的就是我們的反色圖,程序如下:

我用 Python 集齊了五福


對於腐蝕圖,因為在我們選取的圖像中,紅色是背景,黑色才是福字,所以對紅色進行膨脹也就是對黑色進行腐蝕。這也是 OpenCV 的內置功能。我們只需要調用opencv中的膨脹函數即可。

我用 Python 集齊了五福

最後是我們的“福到家”,我們只需要將福字進行旋轉即可。

我用 Python 集齊了五福



分享到:


相關文章: