JavaCV实现照片马赛克效果

 更新时间:2022年1月22日 12:40  点击:373 作者:青空coding

前言

青空最近在逛一些社区的时候发现了有很多图片是像素图,感觉挺好玩的。正巧最近自己在学习JavaCV,所以在这里给大家演示一下如何使用JavaCV来处理像素图。

像素图其实有点类似于类似于打马赛克的功能。通过像素的变化,演示一个像素画的功能。像素画在 NFT 中特别的流行。

准备工作

我们先引入 JavaCV 的依赖库

  <dependency>
    <groupId>org.bytedeco</groupId>
    <artifactId>javacv-platform</artifactId>
    <version>1.5.6</version>
  </dependency>

这种方式引入,会把javacv 所有包含的都引入进来。平时测试使用都时候,可以这样操作。但是到真实项目中,还是需要做一次精简才行。

另外我们准备了一个图片。

代码实现

读取文件

    val path ="path/to/img/"
    val img = opencv_imgcodecs.imread(path + "meinv.jpeg")

获取原图的像素宽高,然后进行像素比缩放。

    val size = img.size()
    val height = size.height()
    val width = size.width()
    
    val pixelSize = 10
    
    val newWidth = width / pixelSize
    val newHeight = height / pixelSize

根据设定的像素比, 对原图进行缩小,再放大的两次 resize 操作。这样就完成了像素图的处理。

    val imgTmp: Mat? = null
    opencv_imgproc.resize(img, imgTmp, Size(newWidth, newHeight),0.0, 0.0, opencv_imgproc.INTER_NEAREST)
    opencv_imgproc.resize(img, imgTmp, Size(width, height),0.0, 0.0, opencv_imgproc.INTER_NEAREST)

那我们来看下处理过之后的图像效果吧

效果看起来还可以,图片颜色单一图片尺寸稍微小一些的效果会好很多。

完整代码

import org.bytedeco.opencv.global.opencv_highgui
import org.bytedeco.opencv.global.opencv_imgcodecs
import org.bytedeco.opencv.global.opencv_imgproc
import org.bytedeco.opencv.opencv_core.Mat
import org.bytedeco.opencv.opencv_core.Size

fun main(args: Array<String>) {

    val path = "path/to/img/"
    val img = opencv_imgcodecs.imread(path + "meinv.jpeg")

    val size = img.size()
    val height = size.height()
    val width = size.width()

    val pixelSize = 10

    val newWidth = width / pixelSize
    val newHeight = height / pixelSize

    val imgTmp: Mat? = null
    opencv_imgproc.resize(img, imgTmp, Size(newWidth, newHeight), 0.0, 0.0, opencv_imgproc.INTER_NEAREST)
    opencv_imgproc.resize(img, imgTmp, Size(width, height), 0.0, 0.0, opencv_imgproc.INTER_NEAREST)


    opencv_highgui.imshow("meinv", img);
    opencv_highgui.waitKey(0)

}

到此这篇关于JavaCV实现照片马赛克效果的文章就介绍到这了,更多相关JavaCV内容请搜索猪先飞以前的文章或继续浏览下面的相关文章希望大家以后多多支持猪先飞!

原文出处:https://blog.csdn.net/wbf1013/article/details/122615000

[!--infotagslink--]

相关文章

  • 美图秀秀给照片天空加蓝天白云教程一览

    今天小编在这里就来给美图秀秀的这一款软件的使用者们来说下究竟该怎么给照片天空加蓝天白云的教程,各位想知道具体制作步骤的,那么下面就来跟着小编一起看看吧。 ...2016-09-14
  • photoshop怎么对照片祛痘磨皮

    photoshop软件是现在很多人都会使用到的,很多人会使用ps软件处理照片。那么photoshop怎么对照片祛痘磨皮呢?不知道的下面我们一起来看看。 原图&#8195;&#8195;photo...2017-07-06
  • 基于Python获取照片的GPS位置信息

    这篇文章主要介绍了基于Python获取照片的GPS位置信息,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-04-22
  • PS给绿色树林人物照片添加金色逆光效果

    PS给绿色树林人物照片添加金色逆光效果文章中,将会教大家如何添加逆光效果,想要学习该技能的同学请看下文介绍。 素材图片有点逆光,只是背景比较杂乱,效果不是很好...2016-12-15
  • 微信小程序 获取相册照片实例详解

    这篇文章主要介绍了微信小程序 获取相册照片实例详解的相关资料,需要的朋友可以参考下...2016-11-22
  • 关于webview适配H5上传照片或者视频文件的方法

    这篇文章主要介绍了关于webview适配H5上传照片或者视频文件的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-12-08
  • 安卓手机上误删的照片该如何找回?照片被误删找回的三个方法

    有时我们会不小心将手机中的照片给删除掉,当再次查看该照片时发现为时已晚。那么安卓手机上误删的照片该如何找回?下面小编就为大家介绍照片被误删找回的三个方法,真的很实用,一起来学习吧...2017-07-06
  • Python识别处理照片中的条形码

    这篇文章主要介绍了Python识别处理照片中的条形码,帮助大家更好的利用python处理图片,提高办公效率,感兴趣的朋友可以了解下...2020-11-16
  • PS云雾缭绕效果怎么做?PS给照片添加云雾缭绕的效果教程

    为了让照片看上去很仙,可以添加一些云雾,给人一种人间仙境的感觉。具体该怎么添加呢?下面我们就来看看详细的教程。 1、打开所用素材(美女和烟雾)2、在的烟雾的图片中,...2017-01-22
  • 误删安卓手机照片怎么办 如何找回被删的图片

    经常可以看到一些情侣拍一些亲密的照片,如果哪天照片被删除了,有什么方法可以恢复呢?其实很简单的,下面就教大家个不错的方法可以快速的找回删除的图片,有此需求的朋友可以参考下...2020-06-29
  • ps如何快速把人物照片转变成素描画

    本篇教程给大家分享了ps是如何巧用图层叠加和滤镜快速把人物照片转变成素描画的,有兴趣的朋友可以来看一看。 最终效果:原图:主要过程:1、将照片素材拖拽进PS,同时CTRL...2017-07-06
  • Python实现老照片修复之上色小技巧

    你会黑白照片上色吗,今天小编带你用python来给黑白照片上个色,这里我们借助百度AI开放平台的“黑白图像上色”接口,仅需二十行代码即可实现,感兴趣的朋友来看看吧...2021-10-15
  • Photoshop给婚纱照片制作出梦幻效果

    今天为大家分享Photoshop给婚纱照片制作出梦幻效果方法,这篇文章比较适合新手,简单易懂,下面请看详细的介绍。 Photoshop给婚纱照片制作出梦幻效果教程:效果图:画面呈...2017-01-22
  • PS如何制作抽象艺术效果?PS制作抽象艺术效果照片 教程

    抽象艺术是指艺术形象较大程度偏离或完全抛弃自然对象外观的艺术表现形式,具有抽象艺术效果的图片显得“高大上”。本教程难度中等,制作出来的效果挺梦幻的。下面来看步...2017-01-22
  • 如何把照片ps成唯美手绘美女效果(1/6)

    如何把照片ps教程成唯美手绘美女效果 最终效果 ...2016-09-14
  • OpenCV实现马赛克和毛玻璃滤镜效果

    这篇文章主要为大家详细介绍了OpenCV实现马赛克和毛玻璃滤镜效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-04-25
  • 利用ps把照片打造成粉色色调效果

    利用ps教程把照片打造成粉色色调效果 效果图:...2016-09-14
  • 利用Photoshop给照片加上柔和甜美的夏季色(1/2)

    夏季色最大的特点就是画面中有灿烂的阳光。没有光线的图片需要想办法加上去,主色可以用一些清爽的青蓝色或黄绿色。 原图 <...2016-09-14
  • 怎么ps淡蓝色的照片效果

    怎么ps教程淡蓝色的照片效果 最终效果 ...2016-09-14
  • 利用ps打造非主流红黄色照片(1/4)

    原图: 效果: 一,打开原始图片素材,按ctrl + j将背景图层拷贝一层,按ctrl + shift + u去色,运行:滤镜 > 模糊 > 高斯模糊,设定值为4,确认后将图层混合模式改成“滤色&rdq...2016-09-14