教你用OpenCV 和 Python給證件照換底色(藍底 <->紅底->白底)

2021-03-02 碼農的後花園
在我們的生活中常常要用到各種底色要求的證件電子照,紅底、藍底、或者白底,而假如你手上只有一種底色的證件照,你又不想再去拍又不會PS怎麼辦?今天教你們用OpenCV和Python給你的證件照換底色。Windows10 + Anaconda+Pycharm

導入OpenCV庫,使用imread函數讀取圖片。

import cv2
import numpy as np

# 讀取照片並顯示
image=cv2.imread('yang.jpg')
cv2.imshow('image',image)

證件照原圖太大,不易顯示,cv2.resize函數進行縮放處理。

# 圖像縮放並顯示

img = cv2.resize(image,None,fx=0.5,fy=0.5)
rows,cols,channels = img.shape
print(rows,cols,channels)
cv2.imshow('img',img)

cv2.cvtColor函數將讀取的圖像默認是BGR格式轉換為HSV格式,將彩色圖片轉換為hsv灰度圖片,之後才能進行腐蝕和膨脹操作。

# 圖片轉換為灰度圖並顯示
hsv = cv2.cvtColor(img,cv2.COLOR_BGR2HSV)
cv2.imshow('hsv',hsv)

通過cv2.inRange函數對圖片進行二值化操作,獲取背景的mask,二值化處理視為了將灰度圖片轉換為黑白圖片,如下圖將紅色的背景用白色表示,白色區域就是我們後面遍歷像素點替換的條件,就是將白色的區域替換為藍色。

cv2.inRange(hsv, lower_red, upper_red):在lower_red和upper_red兩個閾值內的像素值設置為白色(255),而不在閾值區間內的像素值設置為黑色(0

#將在兩個閾值內的像素值設置為白色(255),而不在閾值區間內的像素值設置為黑色(0)

lower_red= np.array([0,135,135])
upper_red = np.array([180,245,230])
mask = cv2.inRange(hsv, lower_red, upper_red)
# 顯示圖像
cv2.imshow('mask',mask)

# #藍底變紅底
# lower_blue = np.array([90,70,70])
# upper_blue = np.array([110,255,255])
# mask = cv2.inRange(hsv, lower_blue, upper_blue)
# 顯示圖像
# cv2.imshow('mask',mask)

在進行二值化操作之後,我們可以看到黑色區域有一些噪聲,嘴的部分是白的,還有少數白點,就cv2.erode或者cv2.dilate函數對圖片再進行腐蝕和膨脹操作,均可以有效消除噪聲。

#腐蝕膨脹
erode=cv2.erode(mask,None,iterations=1)
cv2.imshow('erode',erode)

dilate=cv2.dilate(erode,None,iterations=1)
cv2.imshow('dilate',dilate)

對上述進行了腐蝕或者膨脹操作的圖片進行像素點遍歷,將白色區域的像素點的位置,也就是原圖的背景部分的像素的對應的位置,替換成你想要替換的底色即可。

dilate[i,j]==255:  像素點為255表示的是白色,我們就要將白色處的像素點,替換為你想要的照片底色。

img[i,j]=(0,0,255): 此處替換顏色,為BGR通道,不是RGB通道,若是想要將紅底變成藍底img[i,j]=(255,0,0),若是想將藍底變為紅底則img[i,j]=(0,0,255),若是想變白底img[i,j]=(255,255,255)

# 遍歷每個像素點,進行顏色的替換
for i in range(rows):
for j in range(cols):
if dilate[i,j]==255: #像素點255表示白色
img[i,j]=(255,0,0) # 此處替換顏色,為BGR通道,不是RGB通道

cv2.imshow('res',img)

# 窗口等待的命令,0表示無限等待
cv2.waitKey(0)


文章都看完了不點個 嗎

相關焦點

  • python利用opencv實現證件照換底
    網上交證件照的時候不同單位對底色的要求不一樣,當你手裡只有一張藍底照片,卻要求交紅底或者白底的證件照時,不免就尷尬了些。此時的你為了避免重拍的麻煩,不得不打開ps一點一點地去摳圖換背景,費時費力。opencv今天就給大家介紹一下python利用opencv庫進行藍底換紅底或者白底照片的操作。
  • 證件照換底色怎麼改?手機免費拍證件照,這個工具太好用了
    證件照換底色怎麼改?> 證件照換底色怎麼改?馬上就要到開學季,相信這個時候學校都會要求帶上一寸或者兩寸證件照去報導,對此很多朋友都會第一時間想到照相館拍攝,但是往往照相館拍攝的照片不盡如意,除此之外價格還高。今天小編就來教大家,如何通過手機來拍攝好看的證件照,並且可以隨意更換底色,直到自己滿意為止。
  • 陝西藍底證件照收費_和香源攝影
    陝西藍底證件照收費,和香源攝影,湖南和香源攝影服務有限公司,2004年,開設攝影實體店;2006年開設淘寶店,經營線上影像處理業務;2012年註冊 「長沙縣和香源文化傳播有限公司」,經營攝影、影像處理、媒體設計等相關業務;2016年,業務進一步聚焦,以證件照為核心,以批量圖像採集、數碼證件照處理、背膠證件照製作為主體業務,公司更名為「
  • 證件照白底變藍底,不用PS軟體,office軟體就能輕鬆換底!
    今天要和大家分享利用office軟體中的PPT去解決把證件照白底變成紅底的操作方法,希望對大家有幫助!1、先插入證件照到office軟體PPT幻燈片中先插入白底照片與PPT幻燈片中。通過插入選項卡,插入圖片。
  • 證件照怎麼把藍底換成白底的
    由於最近使用照片,沒有時間來去拍了,但是要求是白底的,我們就來看一下該怎麼來修改這個白底的吧。這裡真的是看到了美圖秀秀的強大了,如果我們還沒有下載的話,我們就先點擊下載一個。然後我們打開我們的證件照,選擇用美圖秀秀打開,或者我們打開美圖秀秀以後,我們點擊添加照片都是可以了的。
  • 「PS技巧」證件照免費製作,讓你紅底白底藍底隨便換
    「PS技巧」證件照免費製作,讓你紅底白底藍底隨便換 2020-11-23 20:31
  • 教您一招,快速換證件照背景
    大家最常用的證件照照片就是白底、藍底、紅底吧,有時候急忙要用藍底或者白底照片,打開U盤卻只有紅底照片,你該怎麼做呢?還再傻傻地跑去照相館照嗎?或者花很大時間美圖秀秀修改嗎?今天暉哥就來教大家如何在最短時間內換證件照背景:相信大家電腦上都有安裝WPS吧!平時用它可能就是做做表格或者做做文檔,但它還有一個少有人知的秘密,就是可以利用它來換證件照背景;1.首先我們新建一個表格文檔,打開這個文檔此時會出現表格,如下圖:
  • PS教程:證件照紅底變藍底
    標準照換背景通常有三種顏色的背景更換, 比如證件照紅底換藍底,以及和白底,三個顏色之間轉換。本文為大家分享的是使用Photoshop來將證件照紅底轉藍底背景操作。本文屬於實用型教程,比如只照了紅色背景的證件照,而需要藍色背景的證件照, 可以在 Photoshop軟體裡面進行處理後得到。
  • 手機自拍+證件照換底色,照片背景顏色任意切換,還不用花錢
    證件照相信大家都有,工作、面試等都要用得到,但是不同場合需要的證件照底色也不一樣,那麼就需要我們自己給證件照換底色,怎樣才能快速給證件照換底色呢?今天小編就整理了兩種給證件照換底色的方法,大家一起get起來!
  • 把寸照藍底換白底分幾步?|海港小紅書
    寸照換底的煩惱   相信大家都懂   好不容易抽空拍了一張藍底證件照   結果卻發現   !!!   莫慌   換證件照背景的小技巧來也   簡單實用輕鬆擁有   生活中,我們經常用到證件照,總會遇到一種窘境:拍了藍底要白底,拍了紅底要藍底,總之就是要啥沒啥!   今天我就來跟大家分享2個證件照換背景的小妙招,輕鬆解決證件照換底的問題。
  • 教師資格證報名寸照一定要白底嗎
    教師資格證報名寸照一定要白底嗎 http://www.hteacher.net 2020-06-28 20:55 中國教師資格網 [您的教師考試網]
  • 乾貨,只需三步用手機app給證件照換底色
    日常生活中,難免有急需要用到證件照的時候。這時候手上照片的底色可能並不符合要求,而去照相館換底又太麻煩。這時只要用手機就可以自己換底色啦!素材準備一張需要換底的證件照、一個新的底色、一個手機app(今天我們用的是picsart)
  • 證件照藍底換成白底,不用PS也能做到!
    不會PS該怎麼換證件照的底色呢?在這裡給大家安利一款神奇——證照之星傻瓜式操作,包教包會,科技改變生活!百度搜一下就能找到,而且還很好用。我們以下面這張照片為例,來給大家演示一下,怎麼將證件照的底色給完美換掉。這張是藍底證件照,我們就用證照之星來換成標準白底一寸證件照。
  • excel快速轉換證件照背景顏色:藍底變紅底
    證件照片是我們日常生活中經常要用到的相片,但是我們經常會遇到過這樣的情況,我們手頭上有電子版的藍底證件照片,可是卻要求的是上傳紅底的證件照片,我們該怎麼辦呢?用PS?不會怎麼辦?重新去拍一張?可是太麻煩了還浪費錢,下面用excel教大家快速變換證件照片底色,滿足您的各種需求。新建一個WPS表格:打開空白的WPS表格。
  • 20行代碼竟然就可以給證件照換底色!快收藏
    想要給證件照換底色怎麼辦?很多人的第一反應用PS,但是你知道嗎?Python裡竟然20行代碼就可以搞定,學會快收藏!首先我們來準備好需要換證件照:第一步,我們需要在Python中讀取圖片並且顯示出來。這裡面要用到的一個模塊是cv2,如果沒有的話使用pip install opencv-python就可以安裝,注意這裡是安裝opencv-python採可以直接用cv2這個模塊。
  • 證件照背景五花八門 登記照白底取代紅底成主流
    劉先生很納悶兒,在他印象中,證件照通常都是紅底的,為何現在不能用了呢?  證件照片底色有哪些講究?日前,記者專門諮詢了辦理證件的相關職能部門和兩家老字號照相館的負責人。為讀者逐一梳理各色登記照片的功能和用途。
  • 證件照快速換底色,看這一篇就夠了(含app推薦+ps技巧)
    最近,小堂妹急急忙忙來找小喵求助,為了找實習投簡歷,小堂妹去某馬體「斥巨資」拍了一份白底的證件照,但投簡歷時說需要用藍底的證件照。學生黨真的不富裕,小堂妹不想再花一百多重新拍一套了,因此來問小喵有沒有什麼辦法改一改證件照的背景色。
  • Excel給證件照換底色
    我們生活中經常要用到不同底色的證件照,但是我們短時間內又辦不好怎麼辦。其實用電腦中的office也可以給證件照 換底色。這裡我以Excel為例,首先在Excel中插入照片,雙擊圖片,功能區就會出現圖片格式選項卡,點擊左側的「刪除背景」選項。
  • 2020年教師資格證報名是用白底照片還是紅底照片?
    2020年教師資格證報名是用白底照片還是紅底照片? http://www.hteacher.net 2019-12-03 13:15 中國教師資格網 [您的教師考試網] 2020年教師資格證報名是用白底照片還是紅底照片
  • 一步一步教你如何使用Photoshop更換證件照底色
    ps教程:找工作、辦理證件時,一般會被要求提供照片,有時需要紅底,有時又需要藍底、白底。那麼,如何將證件照換底色?今天作者就來給大家詳細介紹一下。1、首先讓朋友幫忙拍攝一張證件照,最好是以白色為背景。3、將「圖層」模式調整為「通道」模式,會出現紅綠藍三個圖層,我們選擇最為明顯的一個圖層,這裡很明顯是綠。4、選擇綠圖層之後,我們再複製一個新的圖層「綠副本」。5、使用色階快捷鍵Ctrl+L,然後點擊「在圖像中取樣以設置白場」按鈕,然後吸一下照片的白色背景。