自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

用R語言對JPG/JPEG圖片進行背景透明處理

大數(shù)據(jù)
我們在準備會議或工作報告時經(jīng)常要把單位或組織的徽標插入到幻燈片中,但從照片或網(wǎng)上截屏獲得的徽標圖片的背景色通常和我們幻燈片的背景不搭配,能把徽標本身的背景色透明掉就好了。如果你會用R,過程就非常簡單,只要幾行代碼。

JPG/JPEG圖像背景是不能透明的,但PNG圖像可以。代碼如下,應(yīng)用前提是背景和徽標色能較好地區(qū)分(稍修改也可以做背景色替換):

  1. library(jpeg) 
  2. library(png) 
  3. FILTER <- matrix(c("JPG file", "*.jpg", "JPEG file", "*.jpeg"),  ncol = 2byrow = T
  4. img <- choose.files(caption = "Select JPG files"filters = FILTERindex = 1multi=T
  5. for(i in 1:length(img)){ 
  6.     x <- readJPEG(img[i]) 
  7.     dimx <- dim(x) 
  8.     n <- dimx[1]*dimx[2] 
  9.     r <- x[1:n] 
  10.     g <- x[(n+1):(2*n)] 
  11.     b <- x[(2*n+1):(3*n)] 
  12.     ps <- 5; ps <- dimx[1]*(ps-1) + ps  # 背景取值,ps為左上到右下角的像素,5。按情況修改 
  13.     tv <-  0.1                      # tv為容差范圍,0-1取值,越小越精確 
  14.     sel <- abs(r-r[ps])<tv & abs(g-g[ps])<tv & abs(b-b[ps])<tv 
  15.     alpha <- rep(1, n) 
  16.     alpha[sel] <- 0 
  17.     x <- array(c(x, alpha), dim=c(dimx[1:2], 4)) 
  18.     writePNG(x, gsub("(.+\\.)(jpg|jpeg)$","\\1png", img[i], ignore.case = TRUE)) 
  19. winDialog("ok", "Work done!") 

 

下面是幾張網(wǎng)站徽標截圖進行透明處理后在幻燈片中的疊加效果:

 

用R語言對JPG/JPEG圖片進行背景透明處理 - xxx - xxx的博客
責任編輯:彭凡 來源: 網(wǎng)易博客
相關(guān)推薦

2017-10-12 17:58:42

C語言Gtk+應(yīng)用功能測試

2021-08-27 15:30:13

PSPhotoshopPS格式

2009-06-19 16:12:22

Java語言properties

2010-09-14 09:18:28

DIVCSS

2010-09-10 10:54:24

DIV背景透明

2023-04-06 16:58:13

OpenAIChatGPT

2018-11-06 10:53:10

2010-08-24 16:07:37

C語言

2022-03-08 07:26:15

JPEGPNG圖像編輯器

2010-02-23 14:33:55

Python語言

2009-10-23 12:53:25

VB.NET語言

2010-09-13 15:32:38

DIV背景

2010-10-27 10:19:33

UnicodeJava

2018-06-23 07:38:10

2018-09-26 19:51:07

數(shù)據(jù)分析Kaggle員工離職

2010-03-01 14:02:26

Python批處理語言

2024-07-04 08:26:12

AndroidJPEG圖片

2021-12-17 19:27:44

開源Darktable照片處理

2024-04-19 08:31:40

Android屬性讀取

2011-05-13 15:46:49

C模塊化
點贊
收藏

51CTO技術(shù)棧公眾號