利用MATLAB 實現證件照換底色教程

2021-07-27 06:28:30 字數 1062 閱讀 3402

手頭只有白色的一寸照,可是有時候又要求必須要藍色或紅色的底色,又得跑去照相館照花個大幾十,抓頭…臨時下龐大的ps再摳圖又太麻煩,抓頭…用matlab的圖形處理軟體幾句**不是輕鬆實現麼?於是乎!就有了下面的**,突然發現,學會寫**世界彷彿美好了許多。

ps: 本教程可能不太適合邊緣頭髮太碎的**,藍色轉白色,紅色轉白色效果可能不會很好,根據情況調節下面的一些引數。

[height,width,a] = size(img);

matrix = (img(:,:,1)>250)|(img(:,:,2)>=250)|(img(:,:,2)>=190); % 選擇白色的畫素點

matrix(0.2*height:height,0.25*width:0.75*width) = 0; % 中間人像區域保持不變

se = strel('disk',3);

matrix = imclose(matrix,se); % 關操作平滑邊緣

imshow(matrix)

[a,b] = find(matrix ==1);

blue = [67,142,219];

red = [255,0,0];

color = red;

fori = 1:size(a)

img(a(i),b(i),1) = color(1);

img(a(i),b(i),2) = color(2);

img(a(i),b(i),3) = color(3);

end%平滑處理

g1=medfilt2(img(:,:,1));%%紅

g2=medfilt2(img(:,:,2));%%綠

g3=medfilt2(img(:,:,3));%%藍

img1(:,:,1) = g1;

img1(:,:,2) = g2;

img1(:,:,3) = g3;

imshow(img1);

imwrite(img1,'證件照-b.jpg')

效果圖如下:

python opencv 實現證件照換底

思路 先轉到hsv空間,利用顏色提取背景製作掩模版mask,然後通過按位操作提取人像和製作新背景,最後疊加背景和人像得到換底後 coding utf 8 import cv2 import numpy as np defcvtbackground path,color 功能 給證件照更換背景色 常用...

Python Removebg 證件照換底

這裡需要用自己郵箱註冊,並登陸 from removebg import removebg 匯入removebg庫 import os rmbg removebg vnzvdb7ubagryt7xkucddrxt error.log 替換成自己的api介面 rmbg.remove backgroun...

給證件照換背景顏色

用ps開啟一張待處理的寸照。假如我們想將紅色背景換成藍色的。第1步,用選擇工具,如圖大致勾勒出人的臉輪廓。第2步,ctrl c 複製,ctrl v 貼上成乙個新的圖層。選背景層為當前圖層。第3步,ctrl c 再 ctrl v,複製背景圖層為乙個新的副本圖層。第5步,在 替換顏色 面板裡,選擇背景區...