OpenCV如何实现PS扩散毛玻璃效果
发表于:2025-01-16 作者:千家信息网编辑
千家信息网最后更新 2025年01月16日,这篇文章给大家分享的是有关OpenCV如何实现PS扩散毛玻璃效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。实现原理PS的扩散效果可以产生类似毛玻璃质感的效果,使画面有些
千家信息网最后更新 2025年01月16日OpenCV如何实现PS扩散毛玻璃效果
这篇文章给大家分享的是有关OpenCV如何实现PS扩散毛玻璃效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
实现原理
PS的扩散效果可以产生类似毛玻璃质感的效果,使画面有些毛毛的感觉。其实现可通过操作像素三通道数值的方式实现,定义一个随机数器,将图像中任一点的数值赋值为,以该点为中心一定尺寸窗口(如3*3,5*5)内随机一个点的数值。
功能函数代码
// 扩散效果cv::Mat Diffusion(cv::Mat src,int size){ int row = src.rows; int col = src.cols; RNG rng; cv::Mat result = src.clone(); for (int i = size; i < row- size; ++i) { uchar* t = result.ptr(i); for (int j = size; j < col- size; ++j) { int tmp = rng.uniform(0, 2*size+1); t[3 * j] = src.at (i - size + tmp / (2 * size + 1), 3 * (j - size + tmp % (2 * size + 1))); t[3 * j + 1] = src.at (i - size + tmp / (2 * size + 1), 3 * (j - size + tmp % (2 * size + 1)) + 1); t[3 * j + 2] = src.at (i - size + tmp / (2 * size + 1), 3 * (j - size + tmp % (2 * size + 1)) + 2); } } return result;}
C++测试代码
#include#include #include using namespace std;using namespace cv; cv::Mat Diffusion(cv::Mat src, int size); int main(){ cv::Mat src = imread("test.jpg"); int size = 5; cv::Mat result = Diffusion(src,size); cv::imshow("original", src); cv::imshow("result", result); waitKey(0); return 0;} // 扩散效果cv::Mat Diffusion(cv::Mat src,int size){ int row = src.rows; int col = src.cols; RNG rng; cv::Mat result = src.clone(); for (int i = size; i < row- size; ++i) { uchar* t = result.ptr (i); for (int j = size; j < col- size; ++j) { int tmp = rng.uniform(0, 2*size+1); t[3 * j] = src.at (i - size + tmp / (2 * size + 1), 3 * (j - size + tmp % (2 * size + 1))); t[3 * j + 1] = src.at (i - size + tmp / (2 * size + 1), 3 * (j - size + tmp % (2 * size + 1)) + 1); t[3 * j + 2] = src.at (i - size + tmp / (2 * size + 1), 3 * (j - size + tmp % (2 * size + 1)) + 2); } } return result;}
测试效果
图1 原图
图2 5*5扩散
图3 11*11扩散
适当地调整size,可以改变扩散的强度,进而带来不一样的质感。
感谢各位的阅读!关于"OpenCV如何实现PS扩散毛玻璃效果"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
效果
毛玻璃
数值
代码
内容
更多
篇文章
质感
测试
不错
实用
像素
函数
功能
原图
原理
图像
尺寸
强度
感觉
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
广西软件开发公司排名榜
小学生观看网络安全视频
金税盘更新数据库
网络安全办公室短信
我的世界基岩版服务器被卡住
数据库考试题华北理工大学
本地隧道服务器
湖南郴州学电脑软件开发工资多少
乐驾互联北京软件开发有限公司
r9数据库年结
农安先进网络技术咨询排名靠前
普陀区自动化软件开发概念设计
化学品数据库技术与应用
四川统一软件开发以客为尊
网络安全销售有趣介绍
广电局网络安全监测
河南新一代软件开发创意
服务器内存 品牌
什么是e服务器
数据库项目业务需求书
java上传到服务器
ps软件开发
数据库外键是有什么作用
区块链如何加强网络安全
软件开发广告投放渠道
nasdiy服务器硬盘
怎么新建asa数据库
软件开发售前工资
软件开发培训班
十三届全国人大网络安全