校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 使用python半分鐘輕松完成證件照換底色

使用python半分鐘輕松完成證件照換底色

熱門標簽:沈陽防封電銷電話卡 B52系統電梯外呼顯示E7 鶴壁手機自動外呼系統違法嗎 地圖標注多個 怎么辦理400客服電話 企業微信地圖標注 銀川電話機器人電話 萊蕪電信外呼系統 高德地圖標注收入咋樣

導語

小伙伴們都知道,剛入職的時候都是要求新人入職帶著自己的證件照的,這應該是幾寸的來著,小編入職這么久都忘記了!!!

昨天下班之后跟之前的老朋友聚餐,其實一個兄弟的跟我說:“老表,你現在是編程的,又沒得辦法幫我一個忙?” 我這一聽:“什么事兒?你說”

“我老婆前幾天剛入職新公司,但是入職之后才曉得照片是需要藍底兒的,主要是那個照證件照的離家太遠了,索性問下你有啥辦法沒?“

那當然,為了節省他們的時間,這小忙我義不容辭,也就幾分鐘的事兒。​

正文

環境安裝部分(1):

Python3.6;

numpy函數庫;

opencv庫。

pip install numpy

pip install opencv-python

證件照的讀取與縮放比列(2):

# step1:
讀取照片img = cv2.imread(file)
# step2:
縮放圖片()img = cv2.resize(img, None, fx=1.5, fy=1.5)rows, cols, channels = img.shape

三色圖片有RGB三個顏色通道,無法進行腐蝕和膨脹的操作。

這個就需要我們將彩色圖片轉換為hsv灰度圖像后,再完成腐蝕和膨脹的操作(3):

# 展示圖片
cv2.imshow("original...", img)# step2.1 
圖片轉換為灰度圖并顯示hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)

將圖片進行二值化處理(4):

紅底變藍底,將在兩個閾值內的像素值設置為白色(255)

而不在閾值區間內的像素值設置為黑色(0)

lower_red= np.array([0,125,125])
upper_red = np.array([255,255,255])
mask = cv2.inRange(hsv, lower_red, upper_red)

圖象的腐蝕和膨脹、遍歷每個像素點進行顏色替換(5):

#step3:腐蝕膨脹 若是腐蝕膨脹后仍有白色噪點,可以增加iterations的值
erode = cv2.erode(mask, None, iterations=5)
# cv2.imshow('erode', erode)dilate = cv2.dilate(erode, None, iterations=7)
# step3.1遍歷每個像素點,進行顏色的替換'''
#若是想要將紅底變成藍底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表示白色,180為灰度            img[i,j]=(255,0,0) 
# 此處替換顏色,為BGR通道,不是RGB通道

圖片效果:

​​​​​​​​​​​

​​​​​

附源碼:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import cv2
import numpy as np
file=r".\\pic\\小姐姐.png"
# step1:讀取照片
img = cv2.imread(file)
# step1.2:縮放圖片()
img = cv2.resize(img, None, fx=1.5, fy=1.5)
rows, cols, channels = img.shape
# 展示圖片
cv2.imshow("original...", img)
# step2.1 圖片轉換為灰度圖并顯示
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# :圖片的二值化處理
# 紅底變藍底
# 將在兩個閾值內的像素值設置為白色(255),
#而不在閾值區間內的像素值設置為黑色(0)
# 
lower_red= np.array([0,125,125])
upper_red = np.array([255,255,255])
mask = cv2.inRange(hsv, lower_red, upper_red) 
#step2.3:腐蝕膨脹 若是腐蝕膨脹后仍有白色噪點,可以增加iterations的值
erode = cv2.erode(mask, None, iterations=5)
# cv2.imshow('erode', erode)
dilate = cv2.dilate(erode, None, iterations=7) 
# step3遍歷每個像素點,進行顏色的替換
'''
#若是想要將紅底變成藍底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表示白色,180為灰度
            img[i,j]=(255,0,0) # 此處替換顏色,為BGR通道,不是RGB通道 
#step4 顯示圖像
new_file=r".\\pic\\小姐姐_blue.png"
cv2.imwrite(new_file, img)
res = cv2.imread(new_file)
cv2.imshow('result...', res)
# 窗口等待的命令,0表示無限等待
cv2.waitKey(0)

安啦!換證件照的小程序就寫好了。換上自己的圖片試試叭!!

以上就是使用python半分鐘輕松完成證件照換底色的詳細內容,更多關于python完成證件照換底色的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • 詳解Python給照片換底色(藍底換紅底)
  • 20行代碼教你用python給證件照換底色的方法示例
  • python實現證件照換底功能
  • Python實現將藍底照片轉化為白底照片功能完整實例
  • 3行Python代碼實現圖像照片摳圖和換底色的方法

標簽:呼倫貝爾 三亞 銀川 烏魯木齊 安慶 湘西 葫蘆島 呼倫貝爾

巨人網絡通訊聲明:本文標題《使用python半分鐘輕松完成證件照換底色》,本文關鍵詞  使用,python,半分鐘,輕松,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《使用python半分鐘輕松完成證件照換底色》相關的同類信息!
  • 本頁收集關于使用python半分鐘輕松完成證件照換底色的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 铁岭县| 郸城县| 平阴县| 濮阳市| 二连浩特市| 博客| 泰和县| 墨竹工卡县| 西安市| 荔波县| 新龙县| 成武县| 伊金霍洛旗| 南京市| 鹤壁市| 锡林郭勒盟| 塔河县| 班玛县| 弥勒县| 府谷县| 古浪县| 酒泉市| 安图县| 武冈市| 宜兴市| 崇礼县| 大连市| 安龙县| 滨州市| 上犹县| 金沙县| 盐边县| 茶陵县| 锡林郭勒盟| 孟连| 安阳市| 随州市| 万荣县| 浦县| 漠河县| 榆社县|