R语言图像素描效果的实现(基于rimage包)---娱乐向

本文介绍了如何在R语言中实现图像素描效果,借助已移除的rimage包中的imagematrix和rgb2grey函数。通过调整blur函数参数,可以改变图像灰度效果。同时,分享了批处理不同照片的方法。
摘要由CSDN通过智能技术生成

R语言图像素描效果

  1. 使用效果预览
  2. 前言
  3. 代码分享
  4. 细节
  5. 参考文献

使用效果预览:

“素描效果”“原始图像”

前言:

之前在b站看视频的时候,无意间看见有的up主在使用matlab做图像锐化,便突发奇想,想在R语言里面也整一个看看。虽然网上有的大佬已经通过“rimage”实现了这个目的(已经将大佬的文章链接附在文后了),但是其中“rimage”包已经被移除了,不方便直接使用。为了解决这个问题,我找到了原始的“rimage”包的文件,取出了里面几个函数,在运行程序之前直接调用即可。这个可能是个笨办法,但是在无法安装“rimage”包的情况下还是可以试试的(附上原始文件地址:https://cran.r-project.org/src/contrib/Archive/rimage/)

代码分享:

需要使用"rimage"中的“imagematrix”和"rgb2grey"来实现素描效果,下图是包中函数的内容

library("jpeg")
library(grid) 
library(colorspace)
blur <-function(x, grid, kernelf, ...)
{
   
  if(grid < 3) stop("grid should begreat than or equal to 3!");
  if(grid %% 2 == 0) stop("grid should beodd number!");
  v <- sapply(1:grid - (grid + 1) / 2,kernelf, ...);
  v <- v / sum(v);
  r <- (grid - 1) / 2;
  newx <- tmp <- x;
  for(i in (r + 1):(nrow(x) - r))
  {
   
    tmp[i, ] <- colSums(x[(i - r):(i + r), ]* v);
  }
  for(j in (r + 1):(ncol(x) - r))
  {
   
    newx[, j] <- 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值