java用opencv实现滤镜_OpenCV实现马赛克和毛玻璃滤镜特效

该教程展示了如何使用OpenCV在Java中实现马赛克和毛玻璃滤镜效果。通过鼠标左键划定区域,应用马赛克效果,以及通过随机替换像素点颜色实现毛玻璃效果。提供了具体代码示例和运行结果展示。
摘要由CSDN通过智能技术生成

本文实例为大家分享了OpenCV实现马赛克和毛玻璃滤镜特效的具体代码,供大家参考,具体内容如下

一、马赛克效果

马赛克的实现原理是把图像上某个像素点一定范围邻域内的所有点用邻域内随机选取的一个像素点的颜色代替,这样可以模糊细节,但是可以保留大体的轮廓。

以下OpenCV程序实现马赛克效果,通过鼠标左键在图像上划定马赛克的矩形框。

代码:

#include

#include

#include

#include

using namespace cv;

using namespace std;

Mat inputImage;

Mat inputImage_mosaic;

Mat inputImage_clone;

//马赛克的大小

int neightbourhood = 20;

//记录鼠标的状态,0为鼠标左键未按下或弹起,1为鼠标左键按下

int mouseStatus = 0;

void onMouse(int events, int x, int y, int flag, void* ustg);

//创建马赛克图片

void createMosaicImage(Mat inputMat, Mat& outputMat, int size);

//设置马赛克区域

void setMosaic(Mat& inputMat, Rect rect);

int mainFun(void) {

inputImage = imread("D:\\test\\12.jpg");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值